Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.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
String 在Scala中将带前缀0的字符串转换为Int_String_Scala_Type Conversion - Fatal编程技术网

String 在Scala中将带前缀0的字符串转换为Int

String 在Scala中将带前缀0的字符串转换为Int,string,scala,type-conversion,String,Scala,Type Conversion,我正在寻找一个简单的解决方案,将Scala中带有前缀0的字符串转换为整数。这些值在转换为字符串时被赋予0,以使所有字符串都具有相同的长度,但我希望有一个简单的解决方案将它们转换回来 样本数据: 00001234 00123456 12345678 样本输出: 1234 123456 12345678 我尝试了number.toInt,但是我收到了一个java.lang.NumberFormatException 有简单的解决方案吗?试试看 "00001234".dropWhile(_ ==

我正在寻找一个简单的解决方案,将Scala中带有前缀0的字符串转换为整数。这些值在转换为字符串时被赋予0,以使所有字符串都具有相同的长度,但我希望有一个简单的解决方案将它们转换回来

样本数据:

00001234
00123456
12345678
样本输出:

1234
123456
12345678
我尝试了number.toInt,但是我收到了一个java.lang.NumberFormatException

有简单的解决方案吗?

试试看

"00001234".dropWhile(_ == '0').toInt

只有00001234.t似乎也能正常工作。

哪里有例外?toInt方法适用于所有发布的场景,失败的方式是当值不能表示为int时,在这种情况下,您需要使用BigIntstring的toLong方法:@00001234.toInt->res2:int=1234、@00123456.toInt->res3:int=123456、@12345678.toInt->res4:int=12345678这就是问题所在。我已经开发Java/Scala代码8年了,我想把它转换成一个长整型。我今天一定是盯着我的屏幕看太久了,谢谢@AlexITC!这不是必需的,toInt正确处理0前缀。