繁体   English   中英

如何将分数转换为双精度或十进制?

[英]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除以121/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

文字112都是整数,因此1/12是整数除法,得到整数结果(0)。 将至少一个文字更改为doubledecimal以执行浮点除法。

要使数字文字成为double精度数字,请添加小数位(例如1.0 )或后缀'D'( 1D )。 要使其为十进制,请添加'M'后缀( 1M )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM