Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 输入小数点前的第14位数字后,转换为字符串时,双精度值将四舍五入_C#_Wpf_Textbox - Fatal编程技术网

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后缀使类型十进制的数字代替双精度。

是浮点问题日吗?你试过什么?今天是浮点问题日吗?你试过什么?