将字符串转换为具有特定格式的十进制

Ile*_*ssi -1 c#

我需要在 C# 中将字符串转换为具有特定格式的十进制。该字符串可以采用不同的格式。例如,它可以是:2020.5

我需要它来转换为xx.xxx. 有没有办法做到这一点?

Joe*_*orn 5

C#decimal值是二进制的。它们没有人类可读的格式,也永远不可能有人类可读的格式。您看到的任何其他内容都是调试器或其他工具提供的便利。如果您需要以某种方式格式化的小数,那么您真正需要的是string

\n

也就是说,该decimal类型是一个很好的中介,可以确保您获得正确的所需字符串输出:首先将Parse()原始字符串值转换为小数,然后使用小数的ToString()方法将小数转换为最终格式化的字符串结果。

\n

最后,重要的是要了解文化和国际化问题,这意味着字符串和真实数值之间的转换比我们想象的更容易出错且速度更慢。这是需要避免的事情。因此,最好的策略通常是尽快将一个值解析为未格式化的十进制,然后将其保留尽可能长的时间\xe2\x80\x94,直到需要对其进行格式化以进行输出之前的最后一刻。

\n