首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数值(数量)转换为文本角度

将数值(数量)转换为文本角度
EN

Stack Overflow用户
提问于 2017-01-24 14:15:01
回答 3查看 1.3K关注 0票数 1

我正在使用angularJS在mvc-5中创建一个基于web的应用程序,我在我的表中得到了一个金额总和

代码语言:javascript
复制
<td><span style="font-weight:bolder; font-size:24px; float:right;">Total: {{totalAmount}}</span></td>

我像这样从控制者那里获取数量

代码语言:javascript
复制
$scope.totalAmount = 0;
$scope.tableindiv2.forEach(function (t) {
   $scope.totalAmount += Number(t.amount);
   $scope.empnameandaddress();
});

这里我想将数量从数字转换为文本。例如,如果总数为4526,则应显示four thousand five hundred twenty six

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-24 14:24:36

您可以像this answer中的done那样将数字转换为单词。

代码语言:javascript
复制
var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ','thirteen ','fourteen ','fifteen ','sixteen ','seventeen ','eighteen ','nineteen '];
var b = ['', '', 'twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];

function inWords (num) {
    if ((num = num.toString()).length > 9) return 'overflow';
    n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
    if (!n) return; var str = '';
    str += (n[1] != 0) ? (a[Number(n[1])] || b[n[1][0]] + ' ' + a[n[1][1]]) + 'crore ' : '';
    str += (n[2] != 0) ? (a[Number(n[2])] || b[n[2][0]] + ' ' + a[n[2][1]]) + 'lakh ' : '';
    str += (n[3] != 0) ? (a[Number(n[3])] || b[n[3][0]] + ' ' + a[n[3][1]]) + 'thousand ' : '';
    str += (n[4] != 0) ? (a[Number(n[4])] || b[n[4][0]] + ' ' + a[n[4][1]]) + 'hundred ' : '';
    str += (n[5] != 0) ? ((str != '') ? 'and ' : '') + (a[Number(n[5])] || b[n[5][0]] + ' ' + a[n[5][1]]) + 'only ' : '';
    return str;
}

$scope.totalAmount = 0;
$scope.tableindiv2.forEach(function (t) {
   $scope.totalAmount += Number(t.amount);
   $scope.empnameandaddress();
});

$scope.totalAmountInWords = inWords($scope.totalAmount);

在HTML视图中,使用totalAmountInWords而不是totalAmount

代码语言:javascript
复制
style="font-weight:bolder; font-size:24px; float:right;">Total: {{totalAmountInWords }}</span></td>
票数 1
EN

Stack Overflow用户

发布于 2017-01-24 14:21:34

您必须创建将数字转换为文本的word过滤器

请参考此Angular directive/service to convert number into words (need in Angularjs)?

票数 0
EN

Stack Overflow用户

发布于 2020-07-26 19:14:45

我已经为Angular 8做了this。它还可以将浮点数/双精度数转换为word。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41821226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档