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

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(218)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2017-03-07 Chocolatey
2017-03-07 How to: Create Custom Configuration Sections Using ConfigurationSection
2017-03-07 ConfigurationSection
2016-03-07 Semaphore and SemaphoreSlim
2016-03-07 SemaphoreSlim
2016-03-07 Mutex
2016-03-07 Semaphore
点击右上角即可分享
微信分享提示