我以为我知道FromDigits是如何工作的,但它现在正在做一些疯狂的事情。
n[[990;;]]
FromDigits[n[[990;;]]]
输出:
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
1405060708091011121309
而不是,你知道,950050150 ...
发生了什么?
答案 0 :(得分:5)
文档说
FromDigits : constructs an integer from the list of its decimal digits.
因此,对于简单的连接,数组中的每个数字必须小于10(十进制数字)。
大于基数的数字"携带":例如
FromDigits[{7, 11, 0, 0, 0, 122}] will give 810122
有关更多信息,请转到http://reference.wolfram.com/language/ref/FromDigits.html
答案 1 :(得分:2)
我认为"字符串黑客"可能是你要求的。此
myn = {9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9};
ToExpression[StringReplace[ToString[myn], ", " -> ""]][[1]]
给你这个整数
9500501502503504505506507508509
将列表转换为字符串,用任何内容替换每个逗号空格分隔符,将生成的字符串转换回整数并丢弃现在不需要的大括号。
答案 2 :(得分:1)
其他两种方式..
FromDigits@Flatten@IntegerDigits@
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
9500501502503504505506507508509
(ToString /@ # // StringJoin // ToExpression) &@
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
9500501502503504505506507508509