Javascript 如何在显示金额时隐藏空值但显示数字0?
我编写了以下函数:Javascript 如何在显示金额时隐藏空值但显示数字0?,javascript,angular,typescript,Javascript,Angular,Typescript,我编写了以下函数: /** * Transform values * @param val number * @return val.toLocalString() */ public transformAmount(val: number) { if (val === null || !val) { return ''; } else { return val.toLocaleString('de-DE', { maxim
/**
* Transform values
* @param val number
* @return val.toLocalString()
*/
public transformAmount(val: number) {
if (val === null || !val) {
return '';
} else {
return val.toLocaleString('de-DE', { maximumFractionDigits: 1, minimumFractionDigits: 1 });
}
}
在函数中,我用一个小数位显示金额,零值留空。我必须在代码中更改什么才能同时显示数字0?0被视为false,因此它将通过代码中的第一个条件,从而返回空字符串值。 你必须写这样的东西
public transformAmount(val: number) {
if (val === null || val === undefined) {
return '';
} else {
return val.toLocaleString('de-DE', { maximumFractionDigits: 1, minimumFractionDigits: 1 });
}
}
您可以使用和运算符。如果val
为null或未定义,?。
将返回未定义,?
将返回'
另一种方法是,我看到
val
应该是一个数字(包括0),因此您可以检查val
是否是数字:
/**
* Transform values
* @param val number
* @return val.toLocalString()
*/
public transformAmount(val: number) {
if (isNaN(parseInt(val))) { // returns true if val is not a number
return '';
} else {
return val.toLocaleString('de-DE', { maximumFractionDigits: 1, minimumFractionDigits: 1 });
}
}
因为0被视为错误,所以必须为0添加显式大小写。添加
&&val!=0
到您的if子句应该完成一个示例将非常有用
/**
* Transform values
* @param val number
* @return val.toLocalString()
*/
public transformAmount(val: number) {
if (isNaN(parseInt(val))) { // returns true if val is not a number
return '';
} else {
return val.toLocaleString('de-DE', { maximumFractionDigits: 1, minimumFractionDigits: 1 });
}
}