我正在为一个网页编写测试,我正在用csv值替换记录步骤中的一些值。
问题在于我得到了这个值:
public string UITboxNDocEditText = "866700228007551009280449220150921009003761527571";
在csv中我得到了这个值:
866700000007551009280449220150921009000001527571
我用来替换值的行是这样的:
this.UIMap.InsBDFParams.UITboxNDocEditText = TestContext.DataRow["n_b"].ToString();
问题是脚本写的是这个值: 8,66700000007551e +47
我尝试将TestContext.DataRow
行转换为string
,而不是使用.ToString()
方法,像这样:(string)TestContext.DataRow["n_b"];
但得到了一个错误,抱怨从双精度转换,所以我认为脚本正在考虑我的值是双精度。
您可以使用格式说明符来格式化字符串,F0
, 0
表示小数点后0位:
this.UIMap.InsBDFParams.UITboxNDocEditText =
((double)TestContext.DataRow["n_b"])
.ToString("F0");
发现用双引号封装866700000007551009280449220150921009000001527571
解决了这个问题:
"866700000007551009280449220150921009000001527571"
.
我认为它把它当作一个字符串,所以它不会弄乱数字