【发布时间】:2019-07-16 15:28:08
【问题描述】:
我希望 C# 打印出与 JS 打印出双值相同的双值。
对于 JavaScript, 我有
var x=value;
console.log(value);
对于 C# 我使用下面的代码来模仿 JavaScript
string number = decimal.Parse(((double)value).ToString("G17"), System.Globalization.NumberStyles.Float).ToString();
Console.WriteLine(number);
当
value=4.84143144246472090e+00
我明白了
JS:4.841431442464721
C#:4.8414314424647209
当我在 C# 中使用 .ToString("G16") 时,对于以前的值,我将在 JS 和 C# 中得到相等的值。尽管如此,对于
value=1.03622044471123109e-01
我明白了
JS:0.10362204447112311
C#:0.1036220444711231
如何让 C# double 值对 JS 具有相同的打印输出?
仅供参考:
关于 JS Precision 的信息 http://www.w3schools.com/js/js_numbers.asp
C# 精度信息 https://msdn.microsoft.com/en-us/library/kfsatb94(v=vs.110).aspx
【问题讨论】:
标签: javascript c#