如果我的号码是32位数并且是自然数,我应该使用什么数据类型?

时间:2017-02-19 14:20:48

标签: java

实际上,我输入的是32位数字 Index(['Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num', 'Id', 'Guid', 'HardDisksInfo', 'ServerVersion', 'Email', 'BackupServer', 'DataSizeQuota', 'HostRamSize', 'CpuModel', 'CpuSpeed', 'Post_Month', 'Geography', 'Region', 'Budget_Region', 'Product_Family', 'Product_Name', 'Product_Version', 'License_Type', 'Language', 'row_num'], dtype='object') 作为long(e.g.,10001001100210031004100510061007),我必须转换为数据类型才能执行算术运算。我正在使用java而我无法使用String类。

2 个答案:

答案 0 :(得分:3)

您可以从BigInteger创建String,如下所示:

String s = "10001001100210031004100510061007";
BigInteger l = new BigInteger(s);
System.out.println(l);

修改

就像@Andy Turner在评论中所说,你可以像这样使用BigDecimal

String s = "10001001100210031004100510061007";
BigDecimal l = new BigDecimal(s);
System.out.println(l);

答案 1 :(得分:0)

如果你真的不能使用BigInteger类,则必须创建一个自定义大数字类,可能使用List<Integer>int[]作为底层存储。

在SO上已经存在此类事件的示例,例如hereherehere