var str = string.Format("{0:0%}", 0.256);
(在本例中,str变量的内容是 "26%" ). 有没有办法把这个字符串解析回数字?
"26%"
我知道,根据格式字符串的无损转换回来可能是不可能的-就像在这种情况下 0.26 是我能得到的最好的,因为一些信息(小数点后第三位)在格式化过程中丢失了。但即使 从格式字符串的组合 "{0:0%}" 那绳子呢 26%
0.26
"{0:0%}"
26%
你的价值是某种类型的( int , double , decimal ). 所有这些函数都有一个 Parse() 或 TryParse() 函数式 Decimal.Parse() . 也就是说,这个数字是什么格式的(例如英语和德语中逗号和点的不同用法),你可以提供一个 IFormatProvider (最简单的方法是 CultureInfo ).
int
double
decimal
Parse()
TryParse()
IFormatProvider
CultureInfo
很抱歉,我的第一个错误的答案,但似乎,没有真正存在的东西出了(.net框架)框。
我相信RegEx是最好的标准工具。有很多 scanf net的实现,但我认为编写自己的正则表达式更好。