我想将3.50存储到mysql表中.我有一个存储它的浮动,但它存储为3.5,而不是3.50.如何才能得到尾随零?
现在我有
double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )
Run Code Online (Sandbox Code Playgroud)
这会给我
$5,213.00
Run Code Online (Sandbox Code Playgroud)
但我不想要".00".
我知道我每次都可以删除字符串的最后三个字符来实现效果,但似乎应该有一个更简单的方法.
我为生活编写货币交易应用程序,所以我必须处理货币价值(遗憾的是,Java仍然没有十进制浮动类型,并且没有任何东西可以支持任意精确的货币计算)."使用BigDecimal!" - 你可能会说.我做.但现在我有一些代码在性能是一个问题,BigDecimal为超过1000次(!)慢于double原语.
计算很简单:系统做什么是计算a = (1/b) * c很多很多次(其中a,b并c有固定的点值).然而,问题在于此(1/b).我不能使用定点算术,因为没有固定点.而且BigDecimal result = a.multiply(BigDecimal.ONE.divide(b).multiply(c)不仅丑陋,而且缓慢.
我可以用什么来代替BigDecimal?我需要至少10倍的性能提升.我发现了其他优秀的JScience库,它具有任意精度的算术,但它甚至比BigDecimal慢.
有什么建议?
我发现很难找到有关处理多种货币的最佳做法的讨论.任何人都可以提供一些见解或链接来帮助吗?
我知道有很多方法可以做到这一点 - 在交易方式中存储按原样输入的值,或者在功能上转换为基本费率.在这两种情况下,都需要存储汇率,以涵盖将来可能需要转换为的每种货币的交易时间.
我喜欢交易方法的灵活性,它允许在以后输入旧的汇率信息,但可能比功能方法有更多的开销(因为你必须存储更多的汇率数据).
性能和可伸缩性是主要因素.我们(所有.net)都有一个win&web客户端,一个报告套件和一组为数据库后端提供功能的Web服务.如果需要,我可以在某处(例如在客户端)缓存汇率信息.
编辑:我真的很喜欢链接到一些文件,或者包含之前经验中的"陷阱"的答案.
我想格式化getter中的值并返回格式化的货币值.
这是可能的还是我需要将属性声明为字符串然后使用string.format.
我知道由于舍入错误,浮点数不适合存储货币值.有没有一种标准的方式来代表C++中的钱?
我查看过boost库并没有发现它.在java中,似乎BigInteger就是这样,但我找不到C++中的等价物.我可以写自己的钱类,但如果有测试的话,我宁愿不这样做.
我NumberFormat.getCurrencyInstance(myLocale)用来获取我给出的语言环境的自定义货币格式.但是,这总是包含我不想要的货币符号,我只想要我没有货币符号的给定区域设置的正确货币编号格式.
做一个format.setCurrencySymbol(null)抛出一个异常..
如何将数字转换为显示美元和美分的字符串?
eg:
123.45 => '$123.45'
123.456 => '$123.46'
123 => '$123.00'
.13 => '$0.13'
.1 => '$0.10'
0 => '$0.00'
Run Code Online (Sandbox Code Playgroud) 我想以编程方式在用户的iphone上找出货币区域设置.这意味着,如果用户在美国商店,货币区域应该是美元,对于澳大利亚,它应该是澳元.我的目的是尝试将我们应用程序中列出的商品价格转换为几乎与AppStore要求的价格相匹配.
例如,如果我们销售视频3美元,而澳大利亚人想购买它,那么我应该在我的应用程序屏幕上显示2.8澳元.它将减少用户对其国家实际价格的计算.有谁知道怎么做?
currency ×10
c# ×2
formatting ×2
java ×2
bigdecimal ×1
c++ ×1
decimal ×1
fixed-point ×1
format ×1
iphone ×1
localization ×1
math ×1
mysql ×1
numbers ×1
objective-c ×1
optimization ×1
php ×1
rounding ×1
twig ×1