如何更改angular7项目的十进制格式?我已经研究过了,但我只是为小范围找到了解决方案,并且肯定有一种改变区域设置的方法(我认为它与此相关),将区域格式化设置为整个项目的默认设置。
为了更简洁,我需要把逗号换成小数点,小数点后面的逗号是:18,245.23欧元--> 18.245,23欧元。
印刷:<span>{{totalPricing | number:'1.0-2'}}€<span>
有人知道怎么做吗??
发布于 2019-04-12 11:01:12
我建议您不要使用自定义Date和Currency类型的变量格式,
您应该定义您的LOCALE_ID,这意味着您不需要为Date或Currency (或货币、时间等)使用自定义格式。变量。将此添加到顶部根module.ts中,
import { registerLocaleData } from '@angular/common';
import localeEs from '@angular/common/locales/es';
registerLocaleData(localeEs, 'es');
import { LOCALE_ID } from '@angular/core';
@NgModule({
imports: [
...
],
...
providers: [{ provide: LOCALE_ID, useValue: 'es' }]
})更新: 这里正在运行stackblitz示例。
发布于 2019-04-12 11:19:40
可以创建用于格式化货币的pipe。
@Pipe({
name: 'currencyFormat'
})
export class CurrencyFormat {
transform(value: number,
currencySign: string = '€ ',
decimalLength: number = 2,
chunkDelimiter: string = '.',
decimalDelimiter:string = ',',
chunkLength: number = 3): string {
value /= 100;
let result = '\\d(?=(\\d{' + chunkLength + '})+' + (decimalLength > 0 ? '\\D' : '$') + ')';
let num = value.toFixed(Math.max(0, ~~decimalLength));
return (decimalDelimiter ? num.replace('.', decimalDelimiter) : num).replace(new RegExp(result, 'g'), '$&' + chunkDelimiter) + currencySign;
}
}https://stackoverflow.com/questions/55650031
复制相似问题