decimal and double ToString problem
Posted chucklu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了decimal and double ToString problem相关的知识,希望对你有一定的参考价值。
decimal d2 = 0.0000002500m;
Console.WriteLine(d2.ToString());
double d3 = 0.0000002500;
Console.WriteLine(d3.ToString());
输出结果是,
0.0000002500
2.5E-07
double在ToString的时候,直接进行了科学计数法。
DataTable dataTable = new DataTable(); DataColumn dataColumn = new DataColumn(); dataColumn.ColumnName = "column1"; dataColumn.DataType = typeof(decimal); dataTable.Columns.Add(dataColumn); DataColumn dataColumn2 = new DataColumn(); dataColumn2.ColumnName = "column2"; dataColumn2.DataType = typeof(decimal); dataTable.Columns.Add(dataColumn2); decimal d2 = 0.0000002500m; string value2 = d2.ToString(); Console.WriteLine(value2); double d3 = 0.0000002500; string value3 = d3.ToString(); Console.WriteLine(d3.ToString()); var dataRow = dataTable.NewRow(); try { dataRow["column1"] = value2; } catch (Exception ex) { Console.WriteLine(ex.Message); } dataRow["column2"] = value3; Console.WriteLine(dataRow["column1"]); Console.WriteLine(dataRow["column2"]);
需要把这个代码中的decimal修正为double。或者把数据源,修正为decimal
dataColumn2.DataType = typeof(decimal);
以上是关于decimal and double ToString problem的主要内容,如果未能解决你的问题,请参考以下文章
Decimal.Parse 和 Double.Parse System.FormatException 不同的行为
应该将 xs:double 转换为 xs:decimal 实现为 BigDecimal.valueOf(double) 还是 new BigDecimal(double)?