Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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# 如何打印双变量中的所有数字?_C#_Double - Fatal编程技术网

C# 如何打印双变量中的所有数字?

C# 如何打印双变量中的所有数字?,c#,double,C#,Double,我有这个号码: 双倍数字=131151201344081895336534324866D Console.WriteLinenumber写入131151201344082E+29,而Console.WriteLinenumber.ToString仅写入1311512013440820000000000000 但我希望这个号码显示在控制台窗口上:131151201344081895336534324866 有没有一种方法可以打印出所有数字?在java中,您可以这样做 abc班{ 公共静态字符串参数

我有这个号码: 双倍数字=131151201344081895336534324866D

Console.WriteLinenumber写入131151201344082E+29,而Console.WriteLinenumber.ToString仅写入1311512013440820000000000000

但我希望这个号码显示在控制台窗口上:131151201344081895336534324866

有没有一种方法可以打印出所有数字?

在java中,您可以这样做

abc班{ 公共静态字符串参数[] { double number1=double.parseDoubleargs[0]; System.out.printlnumber1; } } 然后运行代码。。。 java abc 131151201344081895336534324866D导入java.math.BigDecimal

类BigIntegerFact{

公共静态字符串参数[] { BigInteger数字=新的BigDecimalargs[0]; System.out.PrintLNumber; }


}

double只有大约15位有效数字,因此它不能准确表示您给出的值。十进制将为您提供大约28个有效数字,这是更好的,但仍然不够四个大数字。如果您的数字始终是整数,您可以很好地使用,答案是相关的。如果您不受上述有效数字的限制,对于双d=1.0/3.0,您会打印什么?熟悉浮点表示法在计算机科学中的局限性是一个好主意,而不仅仅是这个问题。使用DoubleConverter.ToExactStringnumber:最接近原始输入的双精度是131151201344081890417389338624。如果确实要查看原始字符串,请保存字符串,而不仅仅是其双精度近似值。同样在Java中,双精度是64位IEEE格式,因此限制为15-16位有效数字。这不会打印所有数字,仅打印1.3115120134408189E29,足以将其与任何其他双精度区分开来。将number1替换为新的大小数number1,以获取number1的所有数字。