相关疑难解决方法(0)

在JavaScript中将长数字转换为缩写字符串,具有特殊的短缺要求

在JavaScript中,如何编写一个函数将给定的[编辑:正整数 ]数字(低于1000亿)转换为3个字母的缩写 - 其中0-9和az/AZ计为字母,但是点(因为它在许多比例字体中如此微小)不会,并且在字母限制方面会被忽略?

这个问题与这个有用的线程有关,但它不一样; 例如,那个函数将转向例如"123456 - > 1.23k"("123.5k"是5个字母)我正在寻找做"123456 - > 0.1m"("0 [.] 1m"为3个字母的东西).例如,这将是希望函数的输出(左原始,右理想返回值):

0                      "0"
12                    "12"
123                  "123"
1234                "1.2k"
12345                "12k"
123456              "0.1m"
1234567             "1.2m"
12345678             "12m"
123456789           "0.1b"
1234567899          "1.2b"
12345678999          "12b"
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新:谢谢!在做出以下修改时,答案在于并按照要求运作:

function abbreviateNumber(value) {
    var newValue = value;
    if (value >= 1000) {
        var suffixes = ["", "k", "m", "b","t"];
        var suffixNum = Math.floor( (""+value).length/3 );
        var shortValue = '';
        for (var precision = 2; precision >= 1; precision--) { …
Run Code Online (Sandbox Code Playgroud)

javascript numbers

59
推荐指数
8
解决办法
3万
查看次数

有没有办法将数字转换为读者友好格式?(例如$ 1.1k)

就像Stackoverlow声誉四舍五入,我希望用货币做同样的事情

$ 1,000 => 1k

$ 1,000,000 => 1m

我怎样才能在JavaScript中实现这一点(最好是在jQuery中)?

javascript jquery currency rounding

27
推荐指数
2
解决办法
2万
查看次数

JS中的1000000到1M和1000到1K等等

可能重复:
有没有办法将数字转换为友好格式?(例如$ 1.1k)
如何格式化类似Stack Overflow信誉格式的数字

我在JS中有很多数字,我想让它们以更短,更易于理解的方式出现.

所以:

1,000,000 = 1M

1,200,000 = 1.2M

1,450 = 1.45K and so on...
Run Code Online (Sandbox Code Playgroud)

任何想法我如何在JS或JQuery中做到这一点?

javascript jquery

4
推荐指数
1
解决办法
2万
查看次数

如何在javascript中将数字转换为百万

如在图像中.对于某些值正确转换但有些值未转换...您可以在图像中看到

我想将数字转换为百万.我使用货币格式功能转换数字,但我无法转换数字.

这是控制器部分.对于某些数字,它转换为数百万,而对于某些数字,它没有转换..请有人帮忙.

 $scope.MoneyFormat = function (labelValue) 
                    {
                          // Nine Zeroes for Billions
                          return Math.abs(Number(labelValue)) >= 1.0e+9

                               ? Math.abs(Number(labelValue)) / 1.0e+9 + "B"
                               // Six Zeroes for Millions 
                               : Math.abs(Number(labelValue)) >= 1.0e+6

                               ? Math.abs(Number(labelValue)) / 1.0e+6 + "M"
                               // Three Zeroes for Thousands
                               : Math.abs(Number(labelValue)) >= 1.0e+3

                               ? Math.abs(Number(labelValue)) / 1.0e+3 + "K"

                               : Math.abs(Number(labelValue));
                   }
Run Code Online (Sandbox Code Playgroud)

在这里,我使用Moneyformat转换数字.这是我转换数字的控制器部分

            $scope.rep.won = $scope.MoneyFormat($scope.rep.won);
            $scope.outlook.rem = $scope.MoneyFormat($scope.outlook.rem);
            $scope.rep.expectedAmount = $scope.MoneyFormat($scope.rep.expectedAmount);
            $scope.rep.potential = $scope.MoneyFormat($scope.rep.potential);
            $scope.rep.quota = $scope.MoneyFormat($scope.rep.quota);
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
2
解决办法
9331
查看次数

标签 统计

javascript ×4

jquery ×2

currency ×1

numbers ×1

rounding ×1