月度归档:2014年10月

atoi 实现

  val (v, a, b) = "-1234.567".foldLeft((0, 0, 1)) { case ((i, a, b), c) => {
    c match {
      case '-' => (i, a, -1)
      case '.' => (i, 1, b)
      case _ => (i * 10 + (c - '0'), a * 10, b)
    }
  }}
  val r = v.toDouble / a * b