如何在自定义数字格式字符串中指定缩小 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 中搜索特定字符串?
如何在 Cloudformation 中指定 JSON 格式的字符串?