我是Java新手,我想写一个这样的方法。
public static double getSignum(double value){
String signum = "";
if(value>0){
signum = "+"+Double.toString(value);
}
else{
signum = Double.toString(value);
}
return signum;
}
在Javascript中返回另一个类型没有问题...所以我怎么能在java中做到这一点?
答案 0 :(得分:2)
将方法签名更改为
public static String getSignum(double value){
答案 1 :(得分:2)
你需要在Java学习的第一件事是它的库绝对是巨大的。
因此,您的要求 - 如果合适,显示带有显式加号的格式化双精度 - 可能是使用该库可解决的。这是你应该采用的本能。
使用标准Java函数,您的解决方案将成为:
public static String getSignum(double value){
DecimalFormat fmt = new DecimalFormat("+#,##0.00;-#");`
return fmt.format(value)
}
请注意,我已将返回类型更改为String
。与Javascript不同,Java是一种强类型语言,因此您必须将函数返回类型与返回的值匹配。
我在这里有点顽皮,我使用美国和英国的区域设置格式为十进制数字。很多欧洲国家使用,
作为小数点分隔符,.
表示1000秒。也许你可以使我做得更通用。