代码之家  ›  专栏  ›  技术社区  ›  SilverLight

如何将double格式化为字符串,并在必要时仅显示十进制数字?

  •  10
  • SilverLight  · 技术社区  · 14 年前

    我有这样的代码:

    lblFranshizShowInvwNoskhehEdit.Text = string.Format("{0:n}",
        (double)(int.Parse(drDarman["FranshizDarsad"].ToString()) * 
            Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Text)) / 100);
    

    但是 {0:n0} 字符串格式强制标签的文本不包含十进制数字和 {0:n} 字符串格式强制标签的文本有两个小数位(默认值)。

    2 回复  |  直到 13 年前
        1
  •  23
  •   Kelsey    14 年前

    你可以这样做:

    string.Format("{0}", yourDouble);
    

    必要时只包括数字。

    如果你想让其他格式化双精度字符串的例子,请看这个 link .

    编辑: ,

    string.Format("{0:0,0.########}", yourDouble);
    

    # # 在格式中包含。这个 # 意思是在必要时只显示一个数字,所以如果你给出一个数字 123 如果没有小数点,它将显示为 1,234 但如果你愿意 1234.456 ,它将显示为 1,234.456 . 如果超出指定的最大位数,它们将被舍入。

    编辑: 要修复双零场景,只需将其更改为:

    string.Format("{0:#,0.########}", yourDouble);
    

        2
  •  0
  •   user3562690    10 年前

    string.Format("{0:n2}", double);