科学计数法如何转换成普通数字

chinaApexsoft 2010-04-15 10:01:14
在SQL Server中表里的字段AllMoney数据类型是numeric(18,2),实际数据是13800000000,在前台显示的时候13800000000,
在我在后台取值计算时就变成了科学计数,
decimal allMoney = 0;
foreach (RepeaterItem item in Repeater1.Items)
{
TextBox txtMoneyTotal = item.FindControl("txtMoneyTotal") as TextBox;
allMoney += Convert.ToDecimal(txtMoneyTotal.Text.ToString());
}
在这里计算失败,原因就是txtMoneyTotal.Text=1.38E9,请问各位高手如何处理?
...全文
4966 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILOVE_ASPNET 2010-04-15
  • 打赏
  • 举报
回复
decimal 貌似好像用convert.toInt64(也可以转)
Peter200694013 2010-04-15
  • 打赏
  • 举报
回复
TextBox txtMoneyTotal = item.FindControl("txtMoneyTotal") as TextBox;
allMoney +=
Convert.ToDecimal(Decimal.Parse(txtMoneyTotal.Text.ToString(),
System.Globalization.NumberStyles.Float));
十八道胡同 2010-04-15
  • 打赏
  • 举报
回复
Console.WriteLine(decimal.Parse("1.38E9",System.Globalization.NumberStyles.Float));
chichenzhe 2010-04-15
  • 打赏
  • 举报
回复
double db = Convert.ToDouble( txtMoneyTotal.Text.ToString() );
decimal dc = Convert.ToDecimal(db);
Console.WriteLine("dc is :" + dc);

完成,接分.
ff167 2010-04-15
  • 打赏
  • 举报
回复
以下方法:

Decimal.Parse("1.0E+16", NumberStyles.AllowExponent );

Double.Parse("1.234567E-06", System.Globalization.NumberStyles.Float);
porschev 2010-04-15
  • 打赏
  • 举报
回复
xrongzhen 2010-04-15
  • 打赏
  • 举报
回复

decimal allMoney = 0;
foreach (RepeaterItem item in Repeater1.Items)
{
TextBox txtMoneyTotal = item.FindControl("txtMoneyTotal") as TextBox;
allMoney += Convert.ToDecimal(txtMoneyTotal.Text.ToString(),System.Globalization.NumberStyles.Float);
}

wuyq11 2010-04-15
  • 打赏
  • 举报
回复
cast(AllMoney as varchar(100))

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧