我使用 Jruby(反正就是 ruby,在 jvm 下运行 :D )和马拉松测试(一个 java swing 应用程序),我在处理货币数字时遇到了一些麻烦。
我不使用 Rails(不知道我是否可以使用 rails 甚至马拉松)而且我不知道/没有找到如何将字符串转换为小数或 double 。
我的 maraton 代码是这样的
$saldoDisponivel = get_p("com.company.app.view.layout.objetos.JTextField1", "Text")
换句话说,saldoDisponivel 得到一个字符串(例如:3.232,20)。我还有另一个字符串 valor = "100,00"当我做的时候
$saldoDisponivel = $saldoDisponivel + valor
当然我得到 3.232,20100,00(正确添加 2 个字符串..lol)
我虽然 ruby 可以更轻松地处理这些东西..在 java 中我会在 BigDecimails 上转换它们(使用 java.math.BigDecimal)但在纯 Ruby 上,不知道如何。
Cảm ơn trước.
您也应该在 ruby 中使用 BigDecimal,这样您就不会出现任何 float 错误:
require 'bigdecimal'
x = '3232.20'
y = '100.00'
xb = BigDecimal.new x
yb = BigDecimal.new y
r = xb + xy
r.to_s('F')
> r.to_s('F')
=> "3332.2"
Tôi là một lập trình viên xuất sắc, rất giỏi!