【问题标题】:Format a double in a string and keeping the decimal point在字符串中格式化双精度并保留小数点
【发布时间】:2014-02-19 15:26:00
【问题描述】:

在 C# 中,使用双数 191.5(示例),我想创建一个字符串:

  • 正好有 10 个字符
  • 向左填充 0
  • 包括点字符 (.)
  • 只包含 1 个小数

我的代码:

strOut += SubString(10, string.Format("{0:0000000000}", 191.5));

我的代码的问题在于:

  • 循环(我不想要)
  • 它会擦除小数点

我的代码输出:

0000000192

我需要的输出:

00000191.5

【问题讨论】:

标签: c# double decimal rounding string.format


【解决方案1】:

这很好用,不需要子字符串。

var results = string.Format("{0:00000000.0}", 191.5));

【讨论】:

  • 确实,我删除了 SubString 并做到了这一点。非常感谢大家的快速回复。
【解决方案2】:

我相信

strOut += SubString(10, string.Format("{0:00000000.0}", 191.5));

做你想做的事。但是,在这种情况下,您实际上并不需要子字符串,除非您有时期望一些更大的数字并想要截断它们。

【讨论】:

    【解决方案3】:

    试试这个

    double num=192.5; 
    strOut += SubString(10, string.Format("{0:#}", num));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多