scala中的数字格式异常

时间:2016-02-12 12:40:24

标签: java scala

我正在尝试编写一个scala程序来生成一个输出文件omega0_Real.txt,其中包含从0到pi / 2弧度范围内输入的预计算余弦函数值。这些计算值中的每一个都是72位长并以十六进制格式存储。我到目前为止编写的代码如下:

import java.io._
import scala.math._

object omega0_Real {
def main (args: Array[String]) {
val arg = (0.0).to(2-pow(2, -10), pow(2, -10))
val cosArg = arg.map (i => cos(i))
val cosBit = cosArg.map (i => List.tabulate(72)(j = (BigDecimal((i*pow(2,j))).toBigInt % 2)))
val cosStr = cosBit.map (i => i mkString)
val cosBig = cosStr.map (i => BigInt(i, 2))
val cosBigStr = cosBig.map (i => i.toString(16))
val cosList = cosBigStr.toList
val file = "omega0_Real.txt"
val writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)))
for (x <- cosList) {
    writer.write(x + "\n")
    }
    writer.close()
}

给出了错误:java.lang.NumberFormatException: Illegal embedded sign character后跟许多其他错误。请帮我调试一下这段代码。 PS:我在sbt控制台上逐行运行此代码,但它没有给出任何错误,尽管生成的值是错误的。

0 个答案:

没有答案