双精度值的ToString()导致丢失小数位

(1521.6666666666667).ToString()   ==>  "1521.66666666667"


转换为字符串时,有什么方法可以保存所有小数位



(1521.6666666666667).ToString("F13");   => "1521.6666666666700"
(1521.6666666666667).ToString("0.0000000000000");   => "1521.6666666666700


这是否与double值的大小有关

最佳答案

您必须格式化字符串。

(1521.6666666666667).ToString("R");

10-02 04:01