c# - .NET 中的动态数字格式?

标签 c# number-formatting

我有一个问题,找不到解决方案。我有数字(十进制),例如 85.12343 或 100 或 1.123324。我想以结果始终为 13 个字符(包括分隔符)的方式对其进行格式化。

100 --> 100.000000000
1.123324 --> 1.12332400000

我尝试使用 toString,但失败了。我怎么能这样做?

谢谢 :)

最佳答案

int digits = 13;
decimal d = 100433.2414242241214M;
int positive = Decimal.Truncate(d).ToString().Length;
int decimals = digits - positive - 1; //-1 for the dot
if (decimals < 0)
    decimals = 0;
string dec = d.ToString("f" + decimals);

它不会在需要时从整个部分中删除数字,只会删除分数。

关于c# - .NET 中的动态数字格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3717545/

相关文章:

c# - 尽管 Comparer.Equals 返回 true,但字典不包含键

c# - 根据代码行从文本文件中获取函数名称

javascript - 如何在价格中添加尾随零?

php - 根据使用情况查询不同费率类别的总金额

java - 当用户具有不同的区域设置时,DecimalFormat 强制使用拉丁数字

c# - 使用 C# 中的 Azure AD Graph API 将角色添加到已创建的应用程序

c# - WPF 更新的 Progress<T> 缓冲

jsf-2 - f:convertNumber删除逗号作为千位分隔符

java - 在 Scala 中将字符串转换为整数的最简洁方法?

c# - x :bind UI not update when PropertyChanged in UWP