我使用的是ASP.NET MVC和Server,我想存储一个12位数的值,即221133556677。
这就是我想要存储值的地方,所以Int36只能存储10位数。
那么,如何将数据类型转换为数字( 12,0),以便存储12位数的值。
[Display(Name = "IC")]
[Required(AllowEmptyStrings = false, ErrorMessage = "IC is required")]
public int IC { get; set; }发布于 2020-09-06 14:46:00
一个long可以存储12位数字,很好。因此,在C#中使用long而不是int。
long twelveDigits = 221133556677;
Console.WriteLine($"\nHere is twelve digit number, {twelveDigits}.");
Console.Write("\nPress any key to exit...");
Console.ReadKey(true);见此处:长数据类型MSDocs
SQLServer有Data (见此处:int、bigint、smallint和tinyint (Transact-SQL)和:www.sqlservertutorial.net )
这些应该能让你得到照顾。
发布于 2020-09-06 11:31:52
因此,Int36只能存储10位数。
世界上所有的计算机都遵循标准的体系结构,没有INT36这样的东西。字节是8位,所以是32位。不是36。
自古以来,Int64也是一件事。规模要大得多。
在Server中,它名为BIGINT,其规模可能会使您感到惊讶:
2^63 (-9,223,372,036,854,775,808)至2^63-1 (9,223,372,036,854,775,807)
案子结案了吗?
哦,不..。
那么,如何将数据类型转换为数字( 12,0),以便存储12位数的值。
就这么做?让我们从使用int的C#侧代码开始--时间不长。Int是32位(而不是26位)。把它改成-哦,你坚持用数字(十进制)吗?啊,用十进制而不是整数。好了。否则,我将在数据库中使用一个长而不长的数据。
不过,请注意,这个“数字”很可能不是一个数字。它是一个数字字符串。如果有一天你需要做部分搜索,并且永远不会使用平均值、和等东西,那么将它作为数字存储是没有意义的。
现在,您可能需要阅读一些文档:
具有所有Server数据类型。这有助于您不要忽略明显的大比例尺数据类型。
发布于 2020-09-06 11:33:04
根据Server文档,您可以使用BIGINT。
它是一个签名的64位int,其范围为-2^63 (-9,223,372,036,854,775,808)到2^63-1 (9,223,372,036,854,775,807)。
https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-data-type-mappings
根据我所发现的,指定数字的大小并不影响它可以存储在Server中的数字的大小,并且仅影响使用ZEROFILL时
https://stackoverflow.com/questions/63763541
复制相似问题