بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
حذف صفر در تبدیل واحد
سلام به همه
چطور می تونم صفر اعشاری در پروژه تبدیل واحد رو حذف کنم
یعنی بجای اینکه بنویسه 1.0 بنویسه 1 متر و اونایی که اعشاری ان رو به همون شکل اعشاری نشون بده
ممنون
برای این سوال 2 پاسخ وجود دارد.
مشاهده پاسخ صحیح
پاسخ به سوال
Reza
9 سال پیش
+3
0
سلام
من هم در پروژم به همین نیاز داشتم و از این کد استفاده میکنم :
public static String remove_Zeros_Where_Possible(String str) {
if (str.contains(".")) {
while (str.charAt(str.length() - 1) == '0') {
str = str.substring(0, str.length() - 1);
}
if (str.charAt(str.length() - 1) == '.') {
str = str.substring(0, str.length() - 1);
}
return str;
}
return str;
}
مقدار رو به String تبدیل کن و بفرست برای تابع بالا . مقدار برگشتی رو همونطور نشون بده ( مستقیم ) و محاسبات روش انجام نده ، یعنی دوباره String.parseDouble یا چیزای دیگه نکن چون ممکنه باز به تهش صفر اضافه بشه .
پاسخ به سوال
Morteza
9 سال پیش
+2
0
پاسخ صحیح
یک تابع خوب و اصولی برای این منظور که خیلی خوب کار میکنه :
public String reFormatValue(double value) {
DecimalFormat df = new DecimalFormat("0", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
df.setMaximumFractionDigits(340);
return String.format("%s", df.format(value));
}
با استفاده از df.setMaximumFractionDigits میتونید دقت رقم اعشار رو مشخص کنید.
درضمن با استفاده از تابع بالا مشکل نمایش صفر اضافی بعد از اعشار رو هم نخواهید داشت.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .