我目前正在用PHP撰写报告,偶尔必须显示负货币金额.所述货币金额存储在数据库中,如"-44.00".理想情况下,此数字将在报告中输出为"($ 44.00)".
我知道我可以编写一些半复杂的函数来检测数字是否为负数并手动插入括号,但我想知道是否有一些方便的PHP函数可以在我重新发明轮子之前为我做这个.我已经四处寻找并且没有找到任何似乎做这个确切任务的东西.我知道money_format,但我没有看到任何方法来做负面/括号部分.请记住,无论数字是负数还是正数,代码都必须起作用.
如果我返回值0.0042并将其传递给:
的String.Format( "{0:C}",...);
当我希望它实际显示时,它显示$ 0作为结果:
$ 0.0042
我已经可以选择更改货币,但还有另一个问题.目前基础货币设置为欧元,我很好,但客户可能想要改变它.如果我将基础货币更改为RON,则货币转换器下拉列表将消失.
我如何使用欧元以外的其他货币,但仍可以选择在店内更改货币?警告:magento noob :)
如何获得金钱的绝对价值?例如:
-2.to_money.? = 2.to_money
2.to_money.? = 2.to_money
Run Code Online (Sandbox Code Playgroud)
我有一个属性total_price,可能是正面或负面的.我想计算total_price的绝对值.
来自Python我试图创建一个Android应用程序.我现在有一些工作,应该以多种货币显示金额.在我的数据库我有存储为三个字母组成的字符串("EUR","GBP","美元",等等)的货币.由于我想显示货币符号(€,£,$),我正在考虑如何做到这一点.
我当然可以创建一个if-elseif-elseif-etc.,但这似乎不是最好的解决方案.我需要能够在应用程序的不同部分重用代码,并将代码放入单独的文件似乎更合乎逻辑,可能在某种类似字典的结构中.
据我所知,虽然我总是需要用Java创建一个类.这是否意味着在我可以使用类中的函数之前,我总是需要创建类的实例/对象?
所以提出我的问题; 有谁知道我怎么能解决这个替代货币字符串符号问题?欢迎所有提示!
我在c#winforms中有一个文本框.
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsNumber(e.KeyChar) & (Keys)e.KeyChar != Keys.Back
& e.KeyChar != ',')
{
e.Handled = true;
}
base.OnKeyPress(e);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作得很好,但我可以添加2个逗号,如"100 ,, 00".我怎样才能让用户添加"100,00"或"100,000,000",1个逗号作为货币格式?
任何帮助将不胜感激.
谢谢.
我正在使用带有money-rails gem的Rails来处理钱列.
有没有办法防止出现浮点错误?(即使是黑客也会这样做,我只是想确保没有这样的错误呈现给最终用户)
Rspec示例案例:
it "correctly manipulates simple money calculations" do
# Money.infinite_precision = false or true i've tried both
start_val = Money.new("1000", "EUR")
expect(start_val / 30 * 30).to eq start_val
end
Run Code Online (Sandbox Code Playgroud)
结果
Failure/Error: expect(start_val / 30 * 30).to eq start_val
expected: #<Money fractional:1000.0 currency:EUR>
got: #<Money fractional:999.99999999999999999 currency:EUR>
(compared using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Money fractional:1000.0 currency:EUR>
+#<Money fractional:999.99999999999999999 currency:EUR>
Run Code Online (Sandbox Code Playgroud) 我现在有:
<span>{{(price | currency: 'EUR': true)}}</span>
并以标准格式1,000.00输出
但我需要这种格式1.000,00
几年前,我帮助编写了一份处理金钱和保险的申请.最初,我们用浮点数代表货币(我知道这是一个很大的禁忌号).大多数应用程序只是添加和减去值,所以没有任何问题.但是,具体部分涉及货币价值的百分比,因此是乘法和除法.
我们立即开始遭遇浮点错误,不得不做一个重大的重构.我们使用了一个任意精度库来解决这个问题.然而,它并没有改变你最终只能获得一分钱的事实.你怎么回事呢?简短的回答是" 它很复杂".
现在我正准备开始研究类似的应用程序以取代旧的应用程序.多年来我一直在考虑这个问题.我一直认为最简单的方法是创建一个money数据类型,它包含一个整数(或BigInteger)来表示带有函数的便士数,以便将其打印成传统的,人性化的$0.00格式.
然而,研究这个,我找到了最近实现的Java Money API JSR 354.我惊讶地发现它支持它的代表性BigDecimal.因此,它包括用于舍入的特定逻辑.
在计算中携带一分钱的优势是什么?为什么我要这样做而不是说一分钱是"原子"形式的钱?
我读了很多书,这NSDecimalNumber是使用货币时最好的格式。
但是,我仍然遇到浮点问题。
例如。
let a: NSDecimalNumber = 0.07 //0.07000000000000003
let b: NSDecimalNumber = 7.dividing(by: 100) //0.06999999999999999
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用Decimal,b就是我期望的:
let b: Decimal = 7 / 100 //0.07
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中使用核心数据。所以我坚持NSDecimalNumber。除非我想将很多转换NSDecimalNumbers为Decimals。
有人可以帮我得到0.07吗?