我正在为网页编写一个测试,我正在用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"];
但是抱怨有关从双重投射的错误,所以我假设脚本正在考虑我的价值是双倍。
任何提示?
答案 0 :(得分:0)
您可以使用format specifier格式化字符串F0
,0
代表零小数位:
this.UIMap.InsBDFParams.UITboxNDocEditText =
((double)TestContext.DataRow["n_b"])
.ToString("F0");
答案 1 :(得分:0)
发现用双引号封装866700000007551009280449220150921009000001527571
解决了这个问题:
"866700000007551009280449220150921009000001527571"
。
我认为它将它视为字符串,因此不会弄乱数字。