在小数点后用数字打印双精度数

时间:2010-12-07 21:33:57

标签: c# .net

如何自定义打印双打的功能?我希望这个函数能够得到小数点后面的位数(我的语言环境中的逗号)作为一个agrument然后打印,例如pi,其中包含用户指定的逗号之后的位数。

3 个答案:

答案 0 :(得分:5)

var digits = 4;
var myDouble = Math.PI;

var formattedValue = myDouble.ToString("N" + digits.ToString(),
    CultureInfo.CurrentCulture);

答案 1 :(得分:2)

String.Format可能会帮助您使用NumberFormatInfo.NumberDecimalDigits属性。

MS的代码示例。

Public Shared Sub Main()

  //' Gets a NumberFormatInfo associated with the en-US culture.
  Dim nfi As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat

  //' Displays a negative value with the default number of decimal digits (2).
  Dim myInt As Int64 = - 1234
  Console.WriteLine(myInt.ToString("N", nfi))

  //' Displays the same value with four decimal digits.
  nfi.NumberDecimalDigits = 4
  Console.WriteLine(myInt.ToString("N", nfi))

End Sub

答案 2 :(得分:-1)

我在某种程度上告诉你,我在项目中解决了类似的问题。

将结果值转换为字符串。因为你使用像pi = 3,14

String Result = "3,14";

使用

  

Split(Char())//使用逗号将其拆分为数组

现在你将获得一个数组,数组[1]将为你提供第二部分。

由于它仍然是一个字符串,使用string.Length()函数来获取长度,(只有逗号后面的位数除外)。

您现在可以按照您想要的方式打印结果数字