Hindari nomor MachinePrecision dalam Message
Oct 13 2020
Dapatkah saya mengubah keluaran dari Messagemenjadi tidak menunjukkan MachinePrecisionangka? Misalnya
Bleh::test = "test `1`";
Ini lumayan:
Message[Bleh::test, 0.01]
(* Bleh::test -- test 0.01` *)
Ini bukan:
xx = 0.01;
Do[xx += 0.04, {5}]
Message[Bleh::test, xx]
(* Bleh::test -- test 0.21000000000000002` *)
Apakah ada cara untuk Messagemenampilkan pembulatan ini sebagai:
xx
(* 0.21 *)
Jawaban
4 MichaelE2 Oct 13 2020 at 08:44
ToStringtampaknya membulatkan keluaran seperti yang biasanya dilakukan di sel keluaran (secara teknis OutputForm, yang tidak sama dengan "Output"gayanya):
xx = 0.01;
Do[xx += 0.04, {5}]
Message[Bleh::test, ToString@xx]
Bleh :: test: test 0.21
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'