如何在java中将货币格式转换为double

时间:2017-04-21 06:54:34

标签: java

我在货币格式中获得了价值,但我只想要双重格式。

String amt = txn.getAmount();
System.out.println("--amt--"+amt);//output:1010
double value = Double.parseDouble(amt);
System.out.println("---value---"+value);//output:1010.0
String ammount=NumberFormat.getCurrencyInstance().format(value);
System.out.println("--ammount--"+ammount);//output:Rs.1,010.00

我想Rs.1,010.001010.00

我的代码中有错误吗?

3 个答案:

答案 0 :(得分:3)

我假设你想要货币详情。在这种情况下,请使用getNumberInstance()而不是getCurrencyInstance()。

使用:

NumberFormat nf = NumberFormat.getNumberInstance();
nf.setGroupingUsed(false);
nf.setMinimumFractionDigits(2);
String ammount= nf.format(value);

答案 1 :(得分:0)

在打印之前,更换字符串" Rs。"用""还有","用""。

String replaceString1=amount.replace("Rs.","");
String replaceString2=amount.replace(",","");

这是处理这种情况的一种方法。 希望这会有所帮助。

答案 2 :(得分:0)

尝试这种更清洁的方法!

START TRANSACTION;

CREATE VIEW zacasni AS
SELECT Zacetek_Veljavnosti FROM Cene_Prenocevanja WHERE IDCene_Prenocevanja=6
INTO @zacetek;
SELECT Konec_Veljavnosti FROM Cene_Prenocevanja WHERE IDCene_Prenocevanja=6
INTO @konec;

IF @zacetek < @konec THEN
    INSERT INTO Cene_Prenocevanja VALUES (6, 2, 10.00, 22.39, str_to_date('01-01-1990', '%d-%m-%Y'), str_to_date('01-01-1989', '%d-%m-%Y'));
END IF;

COMMIT;