在Angular 2中将数字字符串转换为数字

4

我想比较 Angular 2 表达式。我从数据库中获取了一组以数字字符串形式存储的数据,需要在使用 ngClass 进行样式处理之前将其转换为数字类型。你有什么想法如何进行转换吗?

  <td [ngClass]= "{'positive': gbh.Last > 0, 'negative': gbh.Last < 0}"> {{gbh.Last}} </td>

https://dev59.com/ZmEi5IYBdhLWcg3wUK6C - Faraz Babakhel
1
我现在不在电脑旁边...但这个行得通吗?+gbh.Last > 0 - DeborahK
如果数组返回数字,它的工作方式就像我上面展示的一样。 - U rock
2个回答

9
这是typescript的方法: 这个答案
Number('1234') // 1234
Number('9BX9') // NaN

另一个答案似乎适用于整数而非数字。您最好使用加号符号。
var x = "32";
var y = +x; // y: number

参考答案


2
是的,这些都是在JS和TypeScript中将值转换为数字的有效方法,但问题是关于在Angular模板HTML表达式中转换为数字。您的答案没有提到这一点。值得注意的是,Angular模板的表达式语法非常有限,不允许使用诸如“Number”和“var”之类的符号。 - jcairney
2
@jcairney Numbervar显然不能在模板内使用,但是+可以在模板中使用。 - Krishna

6
据我所知,在Angular表达式中无法将数字字符串转换为数字。
最佳实践是在控制器中定义一个方法,使用'parseInt'来解决您的表达式。
  function isPositive (x: String, y: number): boolean {
      return (parseInt(x, 10) < y);
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接