本文介绍了解析字符串为十进制,逗号和句号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何解析字符串为十进制所以它会工作两种格式 - 瓦特/逗号和句号

  [事实] 
公共无效美孚(){
VAR一个=1,1;
变种B =1.1;
Assert.Equal(解析(一),解析(二));
}
私人小数解析(字符串s){
返回decimal.Parse(S,NumberStyles.Any,
CultureInfo.InvariantCulture);
}



输出:

 测试'Unit.Sandbox.foo'失败:Assert.Equal()失败
预计:11
实际:1,1


解决方案

这个怎么样?

 私有静态小数解析(字符串s)
{
S = s.Replace(,);
返回decimal.Parse(S);
}


How to parse string to decimal so it would work for both formats - w/ commas and periods?

[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);
}

output:

Test 'Unit.Sandbox.foo' failed: Assert.Equal() Failure
Expected: 11
Actual:   1,1
解决方案

How about this?

private static decimal Parse(string s)
    {
        s = s.Replace(",", ".");
        return decimal.Parse(s);
    }

这篇关于解析字符串为十进制,逗号和句号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-14 20:31