双或整数?如何使用BIG或SMALL数据类型?

时间:2011-07-26 14:07:14

标签: vb.net types

我有一个值:“2.54334881002458E-37”,当我使用双倍时,我一直收到“溢出”异常。

我应该用什么来做这项工作?

谢谢

代码段:

Dim curries, act, cat As Double
 For Each dataRow As DataRow In dt.Rows
            curries = dataRow("Activity")

当我尝试将活动分配给咖喱时收到错误。

但“activity”是数据库中的一个字符串....

4 个答案:

答案 0 :(得分:2)

Double已经是64位的浮点数。 你可以在这个溢出的地方发布代码吗? 十进制可能值得一试,但您必须发布代码才能理解您遇到的问题。

根据您在帖子中的编辑,为什么要在数据库中将数字存储为字符串?这是肯定的不,不......除非你没有进行任何类型的算术运算,否则你可以将它们存储为varchar / string。

给我们一个数据样本的示例...我认为您的问题源于不将字符串转换为小数,如果activity是一个字符串,则使用DirectCastCType转换它(施展价值):

curries = CType(datarow("Activity"), Double)

答案 1 :(得分:2)

更改您的计量单位,这样您就不会在10 ^ -37的任何时间工作。这个问题只是尖叫“我不是在适当的领域解决这个问题。”

答案 2 :(得分:0)

根据MSDN,Double对您的号码应该没有任何问题:

范围:

-1.79769313486231570E + 308到-4.94065645841246544E-324†负值; 4.94065645841246544E-324至1.79769313486231570E + 308†正值

答案 3 :(得分:0)

如果需要大数字和精确我建议使用十进制数字,这里有更多信息。

http://msdn.microsoft.com/en-us/library/system.decimal.aspx

再见