我们想知道是否有一种方法可以将诸如“2,000”和“2,000,000”之类的财务数据分别格式化为“2M”和“2MM”——本质上是用 M 代替 1000。
理想情况下,我们可以使用一个格式字符串,这样 2000.0.ToString("X") 会返回“2M”,反之亦然。这样的格式字符串存在吗?如果没有 - 是否可以创建一个?
请注意,这些格式字符串有效:
#,#,M – this will convert 2,000 to 2M (and back)
#,#,,MM – this will convert 2,000,00 to 2MM (and back)
#,#,,,B – this will convert 2,000,000,000 to 2B (and back)
然而,我们需要一些更动态的东西——如果可能的话,它可以检测它是否是这些值中的任何一个,并且可以应用适当的格式字符串。