我想知道
之间的主要区别是什么(2.3444).toFixed(2) ==> 2.34
另外
+(2.3444).toFixed(2) ==> 2.34
两者都给出了相同的结果。当我需要使用那个+符号时,任何人都可以解释吗?
答案 0 :(得分:1)
第一个给你一个字符串,第二个给你一个(现在被截断的)数字。
import org.apache.spark.mllib.linalg.distributed.IndexedRow
new CoordinateMatrix(
rdd.map{
case ((x, y), cov) => MatrixEntry(x, y, cov)
}
).toIndexedRowMatrix.rows.map { case IndexedRow(i, vs) => (i, vs.toSparse) }

一元加号会尝试convert it's operand to a number。
这个问题的原因是因为第一个将导致字符串连接,如果你"添加"一个数字。
var x = 2.344;
var a = x.toFixed(2);
var b = +x.toFixed(2);
console.log(a, typeof a);
console.log(b, typeof b);