如何在java中将Double
连接到String
?
我有以下代码:
Double price = 5.34;
String trade = MSFT;
现在我有String key = price + trade
,不确定这是否正确,是否有任何建议?
答案 0 :(得分:7)
默认情况下,使用+
符号完成Java字符串连接。
但有时候这不是一个好习惯,因为每次这样做都会创建一个新的字符串实例,所以如果你在一个循环中,这将在内存中为每次迭代创建一个新的字符串。
因此,对于简单的情况,+
完全有效。
对于其他情况,您应该使用StringBuilder。
答案 1 :(得分:4)
我可能会使用String.format(),您将能够控制字符串中double的格式。例如你可以控制前导零,显示的dps数量等。
有关示例,请参阅this SO answer。这是基础Formatter和the standard tutorial的文档。
答案 2 :(得分:1)
您可以使用String.valueOf(price)
进行转换。所以你有
Double price = 5.34;
String trade = MSFT;
String key = String.valueOf(price) + trade;
答案 3 :(得分:0)
String key = Double.toString(price)+ trade;
答案 4 :(得分:0)
格式化字符串 - http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html
如何使用它的一个例子。
http://www.tech-recipes.com/rx/1326/java-decimal-format-to-easily-create-custom-output/
要输出它,请使用+操作数。如果您正在寻找性能,这将创建另一个字符串。您还可以使用字符串构建器 - http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuilder.html。
答案 5 :(得分:0)
您也可以使用toString()转换Double。
Double price = 5.34;
String trade = MSFT;
String key = Double.toString(price) + trade;
以下是toSting()方法的详细信息: http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#toString(double)
但使用StringBuffer效率更高。
此致 Dekx。
答案 6 :(得分:0)
String key = price + trade
没有错。它比String.valueOf(price) + trade
或使用StringBuilder
更具可读性。