gpt4 book ai didi

.net - String.Format 带符号小数,固定小数位数,无小数分隔符

转载 作者:行者123 更新时间:2023-12-02 15:02:25 25 4
gpt4 key购买 nike

使用以下标准对 String.Format 小数进行格式化的最简洁、最易读的方法是什么

  • 以符号(+ 或 -)开头
  • 固定数量的小数位
  • 没有小数点分隔符
  • 右对齐
  • 预填充“0”

例如

  • 123,45 将变为“+0012345”
  • -1123,45 将变为“-0112345”

最佳答案

您几乎肯定想要 Custom numeric format string传递到String.Format方法。

自定义格式字符串可以包含 2 个部分(第一个部分用于正格式,第二个部分用于负格式),您可以为其提供文字 +-。因此,要使用 7 个字符补零进行格式化,类似于:

String.Format("{0:'+'0000000;'-'0000000}",yourValue);

但是,这会截断小数,因此您的输入给出

123.45 --> +0000123
-1123.45 --> -0001123

一个简单的解决方案是将您的数字乘以 100(将小数位数固定为 2),然后再将其传递给上面

实例:http://rextester.com/SZR8690 (C# - 抱歉,但只是演示的想法)

然后可以将其包装到扩展方法中:

<Extension()> 
Public Function ToFixedFormat(ByVal value As Decimal, ByVal numFractionalDigits As Integer)
Return String.Format("{0:'+'0000000;'-'0000000}",value * Math.Pow(10,numFractionalDigits))
End Function

实例:http://rextester.com/LSAAA60214 (VB.NET)

关于.net - String.Format 带符号小数,固定小数位数,无小数分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com