Saya tidak yakin apakah itu saya atau apa, tetapi saya mengalami masalah dalam mengubah dobel menjadi string.
ini kode saya:
double total = 44;
String total2 = Double.toString(total);
Apakah saya melakukan sesuatu yang salah atau saya kehilangan langkah di sini.
Saya mendapatkan kesalahan NumberFormatException
saat mencoba mengonversikan ini.
totalCost.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
try {
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
double total = priceG * valG;
String tot = new Double(total).toString();
totalCost.setText(tot);
} catch(Exception e) {
Log.e("text", e.toString());
}
return false;
}
});
Saya mencoba melakukan ini di onTouchListener. Saya akan mengirim lebih banyak kode, pada dasarnya ketika pengguna menyentuh kotak edittext saya ingin informasi untuk menghitung mengisi kotak edittext.
Jawaban:
Ini akan mengkonversi ganda ke String
sumber
NumberFormat fmt = NumberFormat.getInstance(); fmt.setGroupingUsed(false); fmt.setMaximumIntegerDigits(999); fmt.setMaximumFractionDigits(999);
lalu gunakantotal2 = fmt.format(total)
Double.toString()
. Tidak yakin bagaimana ini menjawab pertanyaan.Menggunakan Double.toString (), jika jumlahnya terlalu kecil atau terlalu besar, Anda akan mendapatkan notasi ilmiah seperti ini: 3.4875546345347673E-6. Ada beberapa cara untuk lebih mengontrol format string keluaran.
Gunakan String.format () akan menjadi cara mudah yang terbaik.
sumber
Kode ini mengkompilasi dan berfungsi untuk saya. Mengkonversi ganda menjadi string menggunakan panggilan yang Anda coba.
Saya bingung dengan Anda melihat NumberFormatException. Lihatlah jejak tumpukan. Saya kira Anda memiliki kode lain yang tidak Anda perlihatkan dalam contoh Anda yang menyebabkan pengecualian itu dibuang.
sumber
Pengecualian mungkin berasal dari panggilan parseDouble (). Periksa bahwa nilai yang diberikan untuk fungsi itu benar-benar mencerminkan ganda.
sumber
berhasil. harus berulang.
sumber
Kotlin
Anda dapat menggunakan
.toString
langsung pada semua tipe data di kotlin, sepertisumber
kode ini berfungsi
sumber
Double.toString()
panggilan panggilanString.valueOf(double)
manaDouble.toString(double)
. Gila, kan?Salah satunya adalah melempar pengecualian. Anda perlu menambahkan beberapa penebangan / pencetakan untuk melihat apa yang ada di dalam
volGal
danpriceGal
- bukan itu yang Anda pikirkan.sumber
String
bukan representasi yang valid daridouble
itu sebabnya Anda mendapatkan pengecualian itu.Double.toString(total);
tidak bisa melempar pengecualian. Pernah. . Anda mengubah itunew Double(total).toString();
yang juga tidak bisa dan jika Anda melihat jawaban di sini yang telah ditolak itu bukan sesuatu yang ingin Anda lakukan.double.toString()
harus bekerja. Bukan tipe variabelDouble
, tetapi variabel itu sendiridouble
.sumber
Cukup gunakan yang berikut ini:
Ini akan bekerja untuk semua tipe data.
Contoh:
sumber
Gunakan
StringBuilder
kelas, seperti:Anda akan mendapatkan hasil yang diinginkan.
sumber
Bagaimana ketika Anda melakukan
Anda lakukan saja
Di mana "" + <variabel> akan mengubahnya menjadi string secara otomatis
sumber
Info Lengkap
Anda dapat menggunakan String.valueOf () untuk float, double, int, boolean dll.
sumber
Ada tiga cara untuk mengkonversi ganda ke String .
"" + d
DoubleToString kelas publik {
}
String untuk menggandakan
sumber