相关疑难解决方法(0)

JavaScript中的货币格式

可能重复:
如何在JavaScript中将数字格式化为金钱?

我有一个简单的JavaScript表单来执行即时计算.我的问题是我正在努力格式化它,以便用逗号和2位小数正确显示.

任何帮助将非常感谢.谢谢.

    <p>
    <label>My Daily Rate is:</label><br />
<input class="poundsBox" name="shares" id="shares" type="text" /><br />
<br />
<strong>Your Gross Contract Take Home:</strong></p>
<p><span class="result">&pound; <span id="result"></span></span></p>
The above illustration is provided for guidance only. Please complete the request form below for a detailed personal illustration.

<script type="text/javascript">
$("#shares").keyup(function() {
   var val = parseFloat($(this).val());
   // If val is a good float, multiply by 260, else show an error
   val = (val ? val * 260 * 0.88 : "Invalid …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

34
推荐指数
1
解决办法
14万
查看次数

计算机代码还是人代码?

最终,代码将(最终)编译成CPU的指令.然而,代码(以我的拙见)是为了让人类阅读,更新和互动.这引出了以下观察:

其他工程师无法读取的代码,即使它的功能正常,也是错误的代码.

考虑到这一点,这个程序员可以做些什么来使人们更容易阅读代码?

  • 命名约定?(乔尔有相当多的说法)

  • 代码结构/布局?(请为了上帝的爱,不要进入{安置辩论)

  • 分句?(是否可以编写看起来更像英语的代码)

除了乔尔之外,还有好文章吗?

code-readability

30
推荐指数
6
解决办法
7120
查看次数

在Vue.js 2.0中在v-model上实现格式化的正确方法是什么

举个简单的例子:文本框输入货币数据.要求是以"$ 1,234,567"格式显示用户输入并删除小数点.

我试过了vue指令.由于其他控件刷新UI时,不会调用指令的更新方法.因此,文本框中的值将恢复为没有任何格式的值.

我也试过v-on:更改事件处理程序.但我不知道如何在事件处理程序中调用全局函数.在每个Vue对象中创建货币转换方法不是一个好习惯.

那么现在Vue 2.0中标准的格式化方式是什么?

问候

vue.js

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

是否有JavaScript的Money类?

免责声明:截至2011年10月14日,为了清晰起见,完全重写

鉴于number JavaScript中的原语是IEEE 754 64位浮点(在其他语言中称为双精度),并使用浮点数来模拟货币是一个坏主意,是Money原型(JavaScript)或Coffeescript类,可以简化使用伪整数美分和字符串货币ISO 4217代码表示可用的货币?

^还有更好的方式来表达这一点.

我希望找到能够反映其他许多语言的常见设计模式的东西,其中包括整数原语.

作为示例,我熟悉ruby 的money gem和python-money包,它们都实现了这种设计模式的变体.

理想情况下寻找能与backbone.js和node.js配合使用的东西,但所有建议都值得赞赏.

编辑4:据我所知,只要roundDownOrUp ? floor : ceiling在每次操作后调用Number的实现(&在链接操作之间),一切都会像处理整数那样起作用.


旧信息,保留以记录问题的历史.

我读过如何在JavaScript中将数字格式化为金钱? 在那里我找到了accounting.js和jQuery Globalize,它们都做了漂亮的打印但不是为了模拟货币并用它们执行操作.

编辑1:刚刚在npm注册表中找到了知道ISO 4217的JSorm货币,但似乎没有包含浮动" 陷阱 "的任何修复.如果我有误读,请更正.

编辑2折叠成重写.

编辑3:看起来好的选择是使用@RicardoTomasi建议的node-bigint.

javascript currency node.js backbone.js

16
推荐指数
1
解决办法
6132
查看次数

将javascript编号转换为货币格式,但不包含"$"或任何货币符号

我想将我的javascript转换为货币编号,但使用任何货币符号

假设这是我的号码

var number = 43434;
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的

43,434
Run Code Online (Sandbox Code Playgroud)

而不是这个

$43,434
Run Code Online (Sandbox Code Playgroud)

提前致谢

javascript jquery

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

Number().toLocaleString()在不同的浏览器中具有不同的格式

我将浮点数格式化为区域设置字符串(Euro),并且每个浏览器都有非常不同的结果.没有自己的功能可以修复吗?

var sum=2282.0000;
var formated_sum = Number(sum.toFixed(2)).toLocaleString("de-DE", {style: "currency", currency: "EUR"});
Run Code Online (Sandbox Code Playgroud)

Firefox结果:2.282,00€

Chrome结果:2.282€

IE结果:2.282,00€

野生动物园成绩:2282€

Safari结果非常错误,Chrome结果并没有那么糟糕.任何想法如何修复,而无需编写自己的格式化功能?


这个问题可能已经有了答案:toLocaleString()在不同浏览器中的行为不一致不,我的问题是不同的,因为我正在寻找货币的解决方案,而不是DATE

javascript formatting numbers

8
推荐指数
1
解决办法
7385
查看次数

格式化欧洲格式的数字,带有两位小数

尝试在欧洲文化中将数字格式化为两位小数格式.这样逗号就是小数分隔符和空格千位分隔符.

在示例中,213245应格式化为213 245,00

我怎样才能做到这一点?

213245.toFixed(2).toLocaleString(); 
Run Code Online (Sandbox Code Playgroud)

给出213245.00但它应该是213 245,00

然而

213245.toLocaleString()
Run Code Online (Sandbox Code Playgroud)

给出213 245

小提琴下面:

var out, input;
input = 213245;

// TEST 1
out = input.toFixed(2);   
console.log(out); // 213245.00
out = out.toLocaleString();
console.log(out); // 213245.00

// TEST 2
out = input.toLocaleString();
console.log(out); // 213 245
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/rootnode/8p2vad8u/7/

javascript formatting culture locale

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

Intl.NumberFormat支持来自node.js?

在我的浏览器控制台:

> Intl.NumberFormat.supportedLocalesOf('it')
["it"]
Run Code Online (Sandbox Code Playgroud)

在我的计算机上的节点中:

> Intl.NumberFormat.supportedLocalesOf('it')
[]
Run Code Online (Sandbox Code Playgroud)

在我的同事计算机上的节点中:

> Intl.NumberFormat.supportedLocalesOf('it')
["it"]
Run Code Online (Sandbox Code Playgroud)

相同版本的节点4.5.0

Intl.NumberFormat支持应该来自哪里?您需要构建什么才能将它包含在您的节点版本中?

node.js

6
推荐指数
1
解决办法
3449
查看次数

热门在JavaScript或jQuery中获取用户的货币区域设置?

我正在尝试用jQuery格式化一些数字.我想获取用户的货币和编号的区域设置,以便实现正确的格式(获取小数点分隔符).

是否可以使用jQuery或JavaScript检索这些参数?

javascript jquery decimal currency-formatting regional-settings

5
推荐指数
2
解决办法
9318
查看次数

在javascript中将数字转换为逗号分隔格式,两位小数

我试图将数字转换为逗号分隔格式,每个数字在javascript中有两个小数位:

我的代码:

Number(parseFloat(n).toFixed(2)).toLocaleString('en');
Run Code Online (Sandbox Code Playgroud)

此代码不显示整数的两位小数(.00).

我期待一组数字的结果如下:

10000 => 100,00.00
123233.12 => 123,233.12
300000.5  => 300,000.50
Run Code Online (Sandbox Code Playgroud)

感谢您的回答.

javascript number-formatting

5
推荐指数
1
解决办法
5863
查看次数