在 c# 中将填充字符串转换为数字
本文关键字:转换 数字 字符串 填充 | 更新日期: 2023-09-27 18:33:09
我使用以下代码:
string new = old.Substring(0,2).TrimStart('0') + "." + old.Substring(2,2).TrimStart('0');
按如下方式转换:
0101 >> 1.1
99.10 >> 99.1
99.01 >> 99.01
问题是以下转换无法正常工作:
0100 >> 1.0
有没有一种简单的方法可以解决这个问题。我不明白为什么它不能正确转换。对我来说,在 .0 之后加上".0"很重要。当我运行上述内容时,我看到的只是"1"。
TrimStart 将始终删除字符串开头的所有 0。 所以你的第二部分最终是:
"00".TrimStart('0')
这将始终产生空字符串。
请尝试此操作以确保始终获得 0:
string new = old.Substring(0,2).TrimStart('0') + "." +
old.Substring(2,2).TrimStart('0').PadLeft(1, '0');
你能调用 Int32.TryParse() 然后除以 100 吗?
string s = "0101";
int n;
if(int.TryParse(s, out n))
{
decimal d = n / 100M;
string x = d.Format("f2");
}