如何将字符串解析为十进制,以便适用于两种格式 - w /逗号和句点?将字符串解析为十进制,逗号和句点
[Fact]
public void foo(){
var a="1,1";
var b="1.1";
Assert.Equal(Parse(a),Parse(b));
}
private decimal Parse(string s){
return decimal.Parse(s,NumberStyles.Any,
CultureInfo.InvariantCulture);
}
输出:
Test 'Unit.Sandbox.foo' failed: Assert.Equal() Failure
Expected: 11
Actual: 1,1
即使解析,为什么它们会相等?一个是1点1,另一个是11 ...? (因为你明确说明不变的文化) – 2011-05-02 10:00:52
@Marc Gravell我不知道我是否正确理解你。无论如何 - 目标是编写解析函数,以便理解这两种格式。断言反映了我试图达到的目标。 – 2011-05-02 10:02:33
@Arnis:我认为马克提到了支持小数点和千位分隔符使用不同文化的模糊性。但我相信你只关心解析小数点? – Groo 2011-05-02 10:05:28