Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在int64 C中保存19位数的值#_C#_Asp.net - Fatal编程技术网

C# 无法在int64 C中保存19位数的值#

C# 无法在int64 C中保存19位数的值#,c#,asp.net,C#,Asp.net,我有一个很长的数据类型,我试图传递低于此值的值 9947493585485901500 但我得到以下错误 Error converting value "9947493585485901500" to type 'System.Int64'. Path '[0].gId', line 1, position 108. int64类型不能保存上述值吗?如果是。那么应该使用哪种数据类型?int64是64位。2^64=18446744073709551616,这是可由64位表示的

我有一个很长的数据类型,我试图传递低于此值的值

9947493585485901500

但我得到以下错误

Error converting value "9947493585485901500" to type 'System.Int64'. Path '[0].gId', line 1, position 108.

int64类型不能保存上述值吗?如果是。那么应该使用哪种数据类型?

int64是64位。2^64=18446744073709551616,这是可由64位表示的唯一值的最大数目

int64还需要表示负数,将其减半至9223372036854775808


您将需要使用略低的数字

有关可在中找到的数据类型的C#范围和大小的信息。int64的范围是
-9223372036854775808
9223372036854775807

是否实际需要使用这种大小和精度的数字?有时需求在应该说“字符串”时会说“数字”。为什么不先尝试一下,看看它是否适合您的值?如果您尝试这样做,需要2秒钟:
long x=9947493585485901500,它工作吗?不编译器错误告诉了您什么?它适合于无符号长-
ulong l=9947493585485901500
@stuartd肯定能用,但他根本不需要使用这么大的数字lol。他可能是为了需要它而做错了什么。严格地说,
long。MaxValue
是9223372036854775807