如何将分数转换为双精度或小数
本文关键字:双精度 小数 转换 | 更新日期: 2023-09-27 18:23:56
案例:
double x = Math.Pow(Convert.ToDouble(0.07003 + 1 ),(1/12));
Console.WriteLine(x);
输出:
1
上述输出不正确,因为x
的结果是1
而不是1.005657
如何将1/12
转换为它给出分数值并被Math.Pow()
接受的格式。
真正的问题是1
除以12
(1/12
),得到值0
(而不是0,083333...
)。
试试这个:
double x = Math.Pow(Convert.ToDouble(0.07003 + 1 ),(1/12d));
这使得CCD_ 11为双,这使得CCD_ 12的结果为双。因此,结果将是0.0833333333333333
,而不是从该除法中得到0
。
文字1
和12
都是整数,因此1/12
是整数除法,给出整数结果(0)。将至少一个文字更改为double
或decimal
以执行浮点除法。
要使数字成为double
,请添加小数点(例如1.0
)或后缀"D"(1D
)。要使其成为十进制,请添加后缀"M"(1M
)。