相关疑难解决方法(0)

用Java表示货币价值

我知道BigDecimal是用于在Java中表示货币价值的推荐最佳实践.你用什么?您是否更喜欢使用更好的库?

java currency bigdecimal

92
推荐指数
5
解决办法
4万
查看次数

如何处理Java BigDecimal性能?

我为生活编写货币交易应用程序,所以我必须处理货币价值(遗憾的是,Java仍然没有十进制浮动类型,并且没有任何东西可以支持任意精确的货币计算)."使用BigDecimal!" - 你可能会说.我做.但现在我有一些代码在性能一个问题,BigDecimal为超过1000次(!)慢于double原语.

计算很简单:系统做什么是计算a = (1/b) * c很多很多次(其中a,bc有固定的点值).然而,问题在于此(1/b).我不能使用定点算术,因为没有固定点.而且BigDecimal result = a.multiply(BigDecimal.ONE.divide(b).multiply(c)不仅丑陋,而且缓慢.

我可以用什么来代替BigDecimal?我需要至少10倍的性能提升.我发现了其他优秀的JScience库,它具有任意精度的算术,但它甚至比BigDecimal慢.

有什么建议?

java math optimization currency bigdecimal

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

货币格式

这应该是一个容易的问题,但......

我需要在C#中格式化显示(字符串)的货币

有问题的货币将有自己的规则,例如要使用的符号以及该符号是否应该在价值之前(例如10美元)或之后(例如10₫是越南盾).

但数字的格式取决于用户本地,而不是货币.

例如

1.234,56 ? should be displayed to a user in Vietnam but 
1,234.56 ? should be displayed to a user in the US
Run Code Online (Sandbox Code Playgroud)

(格式化为代码,因此很容易看出它们之间的区别,和.)

所以代码就像

Double vietnamTotal = 1234.56;
return vietnamTotal.ToString("c");  
Run Code Online (Sandbox Code Playgroud)

将无法工作,因为它将使用用户(或更准确的CultureInfo.CurrentCulture)区域设置格式和货币,所以你会得到$ 1,123.56之类的东西 - 正确使用,和.但错误的符号.

Double vietnamTotal = 1234.56;
CultureInfo ci = new CultureInfo(1066); // Vietnam
return vietnameTotal.ToString("c",ci)); 
Run Code Online (Sandbox Code Playgroud)

会给1.234,56₫ - 正确的符号,错误的使用,和.对于当前用户.

这篇文章提供了有关正确的事情的更多细节,但没有提供如何做到这一点.

我错过了隐藏在框架中的明显方法?

.net c#

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

不显示文化的本机货币时的适当货币格式

如果您格式化的货币不是当前文化的本机货币,那么格式化货币的正确方法是什么?

例如,如果我为fr-FR文化格式化美元,我会将其格式化为en-US文化($ 1,000.00)或fr-FR文化,但将欧元符号更改为美元符号(1 000,00) $).或许别的东西($ 1 000,001 000,00 USD)?

formatting currency

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

如何在Java中汇总货币值?

好的,这是我的问题.基本上我有这个问题.

我有一个像.53999999的号码.如何在不使用任何数学函数的情况下将其四舍五入到54?

我猜我必须乘以100来缩放它,然后除以?那样的东西?


问题在于钱.假设我有50.5399999美元,我知道如何获得50美元,但我没有如何获得美分.我可以获得.539999部分,但我不知道如何将它达到54美分.

java currency rounding

9
推荐指数
5
解决办法
3万
查看次数

在数据库表中存储货币符号

我们使用firebird作为我们的数据库.我们如何在数据库中存储货币符号.我们应该使用哪个字符集或通常最佳做法?

例如,存储"$"或"¥"直接显示,但更复杂的符号在数据库表中没有正确显示,即"₡"不会存储在数据库中.

什么被普遍认为是这种事情的"最佳实践".

编辑 -
让我指出我们使用的语言是C#.我怀疑UTF8会是答案,但我们如何将字符存储在数据库中,我们是使用Unicode,Hex还是Decimal等效的....还是我们只是使用字符?

unicode firebird currency

6
推荐指数
2
解决办法
8951
查看次数

货币格式化功能实际上有用吗?

许多语言(如.NET语言Java)都内置了货币格式化工具.他们所做的是使用特定于文化的数字格式格式化数字并添加文化的货币符号.

这里的问题是数字格式与货币符号强烈耦合.实际上,数字格式应该是周围文本语言的正确格式,而货币符号应该是所讨论的货币.例如,在德语文档中谈论美元时,您不会使用美国千位分隔符.

你能想到这种货币格式化功能的实际用途,还是只是为了打动以金钱为导向的管理人员?

formatting localization currency

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

显示国际货币

全球公认的国际货币显示方式是什么?

\n\n

例如:20 美元、20 美元、20 美元(美国)、\xe2\x82\xac20、20\xe2\x82\xac 等?

\n\n

如果有多种显示每种货币的方法,那么显示货币的通用方法是什么?

\n

globalization currency internationalization

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