[英]How can I convert fraction to double or decimal?
案件:
double x = Math.Pow(Convert.ToDouble(0.07003 + 1 ),(1/12));
Console.WriteLine(x);
输出:
1
上面的输出不正确,因为x
的结果是1
而不是1.005657
如何以给出小数并被Math.Pow()
接受的格式转换1/12
。
真正的问题是1
除以12
( 1/12
)得出的值是0
(而不是0,083333...
)。
尝试这个:
double x = Math.Pow(Convert.ToDouble(0.07003 + 1 ),(1/12d));
这使12
1/12
两倍,从而使1/12
的结果1/12
两倍。 因此,从该除法得到的不是0
,而是0.0833333333333333
。
文字1
和12
都是整数,因此1/12
是整数除法,得到整数结果(0)。 将至少一个文字更改为double
或decimal
以执行浮点除法。
要使数字文字成为double
精度数字,请添加小数位(例如1.0
)或后缀'D'( 1D
)。 要使其为十进制,请添加'M'后缀( 1M
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.