C# 输入小数点前的第14位数字后,转换为字符串时,双精度值将四舍五入
我正在使用大的C# 输入小数点前的第14位数字后,转换为字符串时,双精度值将四舍五入,c#,wpf,textbox,C#,Wpf,Textbox,我正在使用大的双值,如下代码所示 double value = 99999999999999.99; this.textBox1.Text = value.ToString("N"); 但是TextBox值被舍入,我在TextBox 10000000000000.00 有谁能告诉我,在不进行四舍五入的情况下,如何获得准确的值?好吧,您已经没有了双精度数据类型的精度。尝试改用十进制: decimal value = 99999999999999.99M; this.textBox1.Text =
双值,如下代码所示
double value = 99999999999999.99;
this.textBox1.Text = value.ToString("N");
但是TextBox
值被舍入,我在TextBox
10000000000000.00
有谁能告诉我,在不进行四舍五入的情况下,如何获得准确的值?好吧,您已经没有了双精度数据类型的精度。尝试改用十进制:
decimal value = 99999999999999.99M;
this.textBox1.Text = value.ToString("N");
给予
好吧,你用完了双数据类型的精度。尝试改用十进制:
decimal value = 99999999999999.99M;
this.textBox1.Text = value.ToString("N");
给予
这是因为双精度是15-16位(),而您的数字包含了太多的数字。
我建议对这样的数字使用十进制类型:
decimal value = 99999999999999.99M;
M后缀使类型的数字变为十进制而不是双精度。这是因为双精度是15-16位(),而您的数字包含了太多的数字。
我建议对这样的数字使用十进制类型:
decimal value = 99999999999999.99M;
M后缀使类型十进制的数字代替双精度。是浮点问题日吗?你试过什么?今天是浮点问题日吗?你试过什么?