草庐IT

ruby-on-rails - 如何在 ruby​​ 中将小数转换为美元和美分的字符串值?

我正在我的应用程序中存储成本。成本未在数据库中格式化。例如:00.00存为0,1.00存为1,40.50存为40.5我需要从数据库中读取这些值并将它们转换为表示美元和美分的字符串。例如:0-->cost_dollars="00"&cost_cents="00",1-->cost_dollars="01"&cost_cents="00",40.5-->cost_dollars="40"&cost_cents="50".在ruby​​onrails中有没有一种简单的方法可以做到这一点?或者有人有执行此操作的代码吗?谢谢! 最佳答案 您可

ruby - 在不使用 BigDecimal 的情况下将美分转换为 Ruby 中的美元字符串

我想在Ruby中正确地将美分转换为美元。我将永远不必使用几分之一美分。是否可以在不使用BigDecimal的情况下正确执行此操作(没有浮点错误)?例如,美分兑美元"99"=>"0.99""324"=>"3.24"以下似乎有效,但它是否正确?(cents.to_i/100.0).to_s更新:我注意到如果cents="10287349283923497624861294712974892742837833",上面的行不起作用。 最佳答案 作为MichealKohlalreadyanswered:看看金钱gem。例子:require'm

javascript - 使用整数为美分的angularjs货币过滤器

正如您可以在互联网上阅读的那样usingfloatstorepresentcurrencyisaverybadidea.推荐的最佳做法是改用代表美分的整数。这样您就不会遇到任何精度问题,尤其是在您进行一些计算时。由于我天真且过于乐观,我选择了-尽管有所有警告-float来表示我应用程序中的货币。一开始进展顺利。现在我遇到了各种问题(尤其是比较问题),想从float切换到整数。不幸的是,angular不支持美分整数作为货币过滤器的输入(至少据我所知)。我有点惊讶,到目前为止似乎还没有人提出这个问题(github上没有相应的问题,SO上也没有,等等)。有什么最佳实践吗?您能想到像这样的简单

javascript - 在 React 中的 html 输入中转换美分和美元

我的处境有点奇怪,我在我的we应用程序中处理货币。在模型方面,我在发送到服务器之前将货币保存为美分,因为我不想在服务器端处理小数点。但是在View中,我希望显示正常货币而不是美分。所以,我有这个输入字段,我从美元中获取数据并将其更改为美分:当输入值发生变化时,我会在向上游发送之前将其更改回美分:handleUpdate:function(e){varvalue=e.target.value;//changingitbackfromcentstodollarsvalue=parseFloat(value)*100;//savebacktotheparentcomponentmanagin

javascript - 在 JavaScript 中将整数美分转换为可读的美元金额?

varnum=1629;//thisrepresents$16.29num.toLocaleString("en-US",{style:"currency",currency:"USD"});//outputs$1,629到目前为止,这是我能做到的最接近的。我尝试了toLocaleString提供的所有选项,但似乎没有简单的方法来获得我想要的结果(这不是预期的)。JS中没有内置函数吗?https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

javascript - 如何将小数点移动到整数的 100 位?

这似乎是一个愚蠢的问题,但我不知道如何将代表美分的整数转换为美元。3000->30.00在javascript中...我使用的是ParseFloat,但它只返回整数=/我需要始终显示美分,即使它是0。 最佳答案 UsetoFixed().varnum=3000;alert((num/100).toFixed(2));//alerts30.00 关于javascript-如何将小数点移动到整数的100位?,我们在StackOverflow上找到一个类似的问题:

PHP money 字符串转换为整数错误

我有一个小型财务应用程序,前端是PHP,后端是MySQL。我有古老的偏见,我在MySQL中将货币值存储为整数美分。我的HTML表单允许输入美元值,例如“156.64”,我使用PHP将其转换为美分,然后将美分存储在数据库中。我有一个函数可以从表单中清除美元值,并将其转换为美分。我去除前导文本,去除尾随文本,乘以100并转换为整数。最后一步是$cents=(integer)($dollars*100);这几乎适用于所有情况,除了极少数值,如“156.64”,它始终转换为15663美分。为什么要这样做?如果我这样做:$cents=(integer)($dollars*100+0.5);然后它

java - 如何正确显示最多两位小数(美分)的价格,包括 Java 中的尾随零?

Java中有一个关于四舍五入小数的好问题here.但我想知道如何在我的程序中包含尾随零以显示价格,例如:$1.50、$1.00简单的解决方案String.format("%.2g%n",0.912385);工作正常,但如果它位于最后一位小数,则省略尾随零。即使我只使用这样的表达式,我的程序也会出现这个问题:doubleprice=1.50;当我对不同的价格进行计算(相加、相乘等)时,结果主要显示如下:$2.5000000000000003因此,使用String.format可以很好地实现此目的,但它将上面的示例截断为$2.5有没有正确的方法来显示小数点后第二位的尾随零?或者如果计算的输

java - 在 java 中将美元(大十进制)转换为美分(整数)的最佳方法是什么?

我必须将我的Web应用程序与支付网关集成。我想输入以美元为单位的总金额,然后将其转换为美分,因为我的支付网关库接受以美分为单位的金额(Integer类型)。我发现Java中的BigDecimal是操纵货币的最佳方式。目前我将输入设为50美元并将其转换为Integer,如下所示:BigDecimalrounded=amount.setScale(2,BigDecimal.ROUND_CEILING);BigDecimalbigDecimalInCents=rounded.multiply(newBigDecimal("100.00"));IntegeramountInCents=bigD

java - 双倍我的钱 : my framework uses doubles for monetary amounts

我继承了一个项目,其中货币金额使用double类型。更要命的是,它用的框架,还有框架自带的类,用double换钱。框架ORM还处理从数据库检索值(和存储到数据库)。在数据库中,货币值的类型为number(19,7),但框架ORM将它们映射为double值。除了完全绕过框架类和ORM,我能做些什么来精确计算货币值(value)吗?编辑:是的,我知道应该使用BigDecimal。问题是我与一个框架紧密相关,例如,类framework.commerce.pricing.ItemPriceInfo有成员doublemRawTotalPrice;和双mListPrice。我公司的应用程序自己的代