标签: currency

我应该使用NSDecimalNumber来处理钱吗?

当我开始编写我的第一个应用程序时,我使用了NSNumber来获取金钱价值而不必考虑两次 然后我想也许c类型足以处理我的价值观.然而,我被推荐在iPhone SDK论坛中使用NSDecimalNumber,因为它具有出色的舍入功能.

不是气质的数学家,我认为尾数/指数范式可能是过度的; 仍然,googlin',我意识到大多数关于可可货币/货币的谈判都被提到了NSDecimalNumber.

请注意,我正在处理的应用程序将进行国际化,因此以美分计算金额的选项并不可行,因为货币结构在很大程度上取决于所使用的区域设置.

我90%肯定我需要使用NSDecimalNumber,但因为我在网上找不到明确的答案(类似于:"如果你处理钱,请使用NSDecimalNumber!")我想我会问这里.也许答案对大多数人来说是显而易见的,但我想在开始对我的应用程序进行大规模重新分解之前确定.

说服我 :)

cocoa cocoa-touch currency rounding

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

从当前文化中获取货币?

有没有办法从应用程序文化设置动态获取当前信息?基本上,如果用户已将文化设置为美国,我想知道货币是美元,或者如果他们将其设置为英国我想要英镑等...等等.

这样我就可以在付款时将此信息发送给PayPal

c# currency cultureinfo

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

格式化双倍值,如货币,但没有货币符号(C#)

我在文本框中输入一个字符串值,显示需要格式化的余额,如下所示:

###,###,###,##0.00
Run Code Online (Sandbox Code Playgroud)

我可以使用value.ToString("c"),但这会将货币符号放在它前面.

知道如何在输入文本框之前操作字符串以实现上述格式化吗?

我试过这个,没有成功:

String.Format("###,###,###,##0.00", currentBalance);
Run Code Online (Sandbox Code Playgroud)

非常感谢,

c# string format currency

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

to_d总是在ruby中返回2个小数位

我正在处理货币,我想将数字向下舍入到小数点后2位.即使数字是500.0,我希望它是500.00才能保持一致.当我执行"500.00".to_d时,它将其转换为500.0.

什么是改变这种行为的好方法?我也使用这种方法向下舍入到2位数,并确保它总是有2位小数.

def self.round_down(x, n=2)
    s = x.to_s      
    l = s.index('.') ? s.index('.') + 1 + n : s.length
    s = s[0, l]
    s =  s.index('.') ? s.length - (s.index('.') + 1) == 1 ? s << '0' : s : s << '.00'      
    s.to_f
end
Run Code Online (Sandbox Code Playgroud)

ruby math currency ruby-on-rails decimal

48
推荐指数
4
解决办法
6万
查看次数

将浮动转换为美元和美分

首先,我尝试过这篇文章(其中包括):Python中的货币格式.它对我的变量没有影响.我最好的猜测是因为我使用的是Python 3,而且是Python 2的代码.(除非我忽略了一些东西,因为我是Python的新手).

我想将一个浮点数(如1234.5)转换为String,例如"$ 1,234.50".我该怎么做呢?

为了以防万一,这里是我编译的代码,但不影响我的变量:

money = float(1234.5)
locale.setlocale(locale.LC_ALL, '')
locale.currency(money, grouping=True)
Run Code Online (Sandbox Code Playgroud)

也不成功:

money = float(1234.5)
print(money) #output is 1234.5
'${:,.2f}'.format(money)
print(money) #output is 1234.5
Run Code Online (Sandbox Code Playgroud)

python floating-point currency string-formatting python-3.x

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

什么是"最好的"美国货币RegEx?

快速搜索货币正则表达式会带来很多结果.

我选择其中之一的问题是,如果不测试所有边缘情况,正则表达式很难验证.我可以花很多时间在这上面,因为我相信其他数百名开发人员已经做过了.

有没有人有美国货币的正则表达式已经过彻底测试

我唯一的要求是匹配的字符串是US Currency并解析为System.Decimal:

[ws][sign][digits,]digits[.fractional-digits][ws] 

Elements in square brackets ([ and ]) are optional. 
The following table describes each element. 

ELEMENT             DESCRIPTION
ws                  Optional white space.
sign                An optional sign.
digits              A sequence of digits ranging from 0 to 9.
,                   A culture-specific thousands separator symbol.
.                   A culture-specific decimal point symbol.
fractional-digits   A sequence of digits ranging from 0 to 9. 

regex currency

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

直接存款API(ACH,EFT,Whatever)

我正在寻找一种方法来自动从一个银行帐户转移到另一个银行帐户,而最终用户不必登录到类似于PayPal或亚马逊付款的东西来完成流程(通过将他们的在线余额转移到他们的银行帐户).我在网上看了一下,发现一些供应商似乎能够做到这一点,但API文档并没有让我对此感到确定.

任何人都可以推荐他们曾经做过这样的服务吗?显然我正在寻找一个基于Web的API.完整的流程是一个中间人网站,收集付款(这是容易的部分),然后支付(少收费)到银行帐户.

亚马逊支付会很棒(允许三方/市场交易); 但是,我们正在寻找直接面向最终用户银行账户的东西.

(我知道这不是严格的代码,但我认为可能有人做了类似的事情.)

api payment currency payment-gateway e-commerce

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

显示的货币格式

是否有图书馆格式化一个国家的正确货币代表?

英国示例 - £127.54荷兰€127,54-美国$ 127.54

等等..

有些事情要考虑,

  1. 货币符号

  2. 货币符号展示位置 - 可以是数字之前或之后的位置.

  3. 负数量显示

.net c# asp.net globalization currency

46
推荐指数
4
解决办法
11万
查看次数

3数字货币代码到货币符号

在C#中,有可能从3个字符的货币代码中获得货币符号,例如"£",在这种情况下是"GBP"吗?

这可能在SQL Server或C#中吗?

.net c# currency sql-server-2008

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

使用BigDecimal作为货币的一个现实例子明显优于使用double

我们知道使用double货币是容易出错的,不推荐使用.但是,我还没有看到一个现实的例子,BigDecimal虽然double失败了,但不能通过一些舍入来简单地修复.


注意琐碎的问题

double total = 0.0;
for (int i = 0; i < 10; i++) total += 0.1;
for (int i = 0; i < 10; i++) total -= 0.1;
assertTrue(total == 0.0);
Run Code Online (Sandbox Code Playgroud)

不计算,因为它们通过舍入(在这个例子中从0到16的小数位的任何东西)都可以解决.


涉及总结大值计算可能需要一些中间圆棒,但由于流通总货币之中USD 1e12,爪哇double(即标准IEEE双精度其15个十进制数字)仍然是足够美分事件.


涉及分工的计算通常是不精确的,即使是BigDecimal.我可以构造一个不能用doubles 执行的计算,但可以BigDecimal使用100的标度执行,但它不是你在现实中可以遇到的东西.


我没有声称这样一个现实的例子不存在,只是我还没有看到它.

我也肯定同意,使用double更容易出错.

我正在寻找的是如下方法(根据Roland Illig的回答)

/** 
  * Given an input which has three decimal …
Run Code Online (Sandbox Code Playgroud)

java floating-point currency biginteger

44
推荐指数
5
解决办法
6806
查看次数