将数字字符串转换为角度2的数字

U r*_*ock 0 javascript angular

我想比较角度2表达式.我从我的数据库中获取数字字符串中的数据数组我需要将其转换为数字,然后使用ngClass进行样式设置.我怎么能转换这种类型.任何的想法?

  <td [ngClass]= "{'positive': gbh.Last > 0, 'negative': gbh.Last < 0}"> {{gbh.Last}} </td>
Run Code Online (Sandbox Code Playgroud)

Ant*_*tet 5

据我所知,你不能将你的数字字符串转换为Angular表达式中的数字.

最好的做法是在控制器中定义一个方法,通过使用' parseInt ' 来解决你的表达式

  function isPositive (x: String, y: number): boolean {
      return (parseInt(x, 10) < y);
  }
Run Code Online (Sandbox Code Playgroud)


tre*_*eat 5

这个答案是打字稿方式: 所以回答

Number('1234') // 1234
Number('9BX9') // NaN
Run Code Online (Sandbox Code Playgroud)

另一个答案看起来就像int而不是数字.你最好使用加号.

var x = "32";
var y = +x; // y: number
Run Code Online (Sandbox Code Playgroud)

参考答案:

  • 是的,这些都是在 JS 和 TypeScript 中转换为数字的有效方法,但是问题是关于在 Angular 模板 HTML_ 中转换为数字_within 表达式。你的回答没有提到这一点。值得注意的是,Angular 模板的表达式语法非常有限,不允许使用“Number”和“var”等符号。 (2认同)
  • @jcairney `Number` 和 `var` 显然在模板内不起作用。但那个“+”在模板中起作用.. (2认同)