如何在自定义数字格式字符串中指定缩小 100?

Posted

技术标签:

【中文标题】如何在自定义数字格式字符串中指定缩小 100?【英文标题】:How to specify scaling down by 100 in custom numeric format string? 【发布时间】:2012-01-12 17:35:34 【问题描述】:

如何在自定义数字格式字符串中指定缩小100?

我需要将一个数字缩小 100(类似于 ',' 运算符所做的,将其缩小 1000)

我如何做到这一点?

我需要将数字除以 100 而不仅仅是逗号。

如果我有一个数字 123456.78 我需要我的输出为 1234.5678...

【问题讨论】:

你想把1000个数变成1000个 您的意思是要将十进制数字分成 2 个一组吗? 请提供示例输出以帮助解释您的需求。 "," 不缩放数字。它添加了千位分隔符。例如,1234567.89d 在美国设置下变为 "1,234,567.89",在德国设置下变为 "1.234.567,89"。数值不变。 听上去好像是想把数字除以100,这和格式化关系不大。也许这个问题可以更清楚。 【参考方案1】:

写一个简单的方法

   public static string FormatNumberSpecialNumber(double inputString)
   
       string tempString;
       tempString = string.Format("0:#.#####",(inputString / 100));
       return tempString;
   

用法

var number = FormatNumberSpecialNumber(123456.78);

【讨论】:

【参考方案2】:

您在错误的地方执行此操作。您应该在转换为字符串之前执行此操作....

如果您不使用千位分隔符进行格式化,则可以作弊,只需在字符串中找到小数点并将其向右移动两个字符(假设它不是 0.2345 !)

虽然脆弱,反直觉,但一定会让你在未来看起来像一个完整的沃利。我会在同行评审中给你一个新的,除非你有一个铸铁的借口。

【讨论】:

【参考方案3】:

第一个 , 不是 C# operator,这是错误的术语。在这种情况下,它只是一个分隔符。

这是我将用来实现您的示例中指定的效果的代码。

var number = 123456.78
var formattedString = (number / 100.0).ToString();

编辑:

可以使用自定义格式字符串(并且没有除法)来执行此操作,但您需要创建一个没有小数点的自定义文化。我很确定没有这样的文化。

【讨论】:

以上是关于如何在自定义数字格式字符串中指定缩小 100?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 contains 在自定义对象 ArrayList 中搜索特定字符串?

C语言删除字符串中指定字符

如何在 Cloudformation 中指定 JSON 格式的字符串?

在 GWT 中指定自定义货币、数字和日期时间格式的好方法是啥?

java 获取数据库中指定格式的日期

如何在 Weka 文件中指定字符串?