在一个问题中,我收到这样的输入,我需要按原样输出它们
例如,我将收到5.0作为输入,需要打印5.0作为输出,
但是它正在打印5. 我使用 setprecision无法正常工作。
我想是的
对于像2.0,3.0,4.0这样的数字,它在进行输入时是四舍五入的。
请帮帮我。
请参阅我的代码:
/*
I also tried
printf("%f",n);
//but its printing 5.000000
I can't use printf("%.1f",n)<br>
as input can be 5.234 or 4.5687 so making %.1f will not work for others
*/
for (int i = 0; i < jsonMainNode.length(); i++) {
final TableRow row = new TableRow(DaftarNilaiUtama3 .this);
jsonResponse = jsonMainNode.getJSONObject(i);
String nama_modul = jsonResponse.optString("nama_modul");
String responsi_nilai = jsonResponse.optString("responsi_nilai");
String posttest_nilai = jsonResponse.optString("posttest_nilai");
tvModul.setGravity(Gravity.CENTER);
tvModul.setTextSize(12.0f);
tvModul.setBackgroundColor(Color.parseColor("#eeeeee"));
tvModul.setTypeface(null, Typeface.BOLD);
tvModul.setText(nama_modul);
row.addView(tvModul);
tvRes.setGravity(Gravity.CENTER);
tvRes.setTextSize(12.0f);
tvRes.setBackgroundColor(Color.parseColor("#eeeeee"));
tvRes.setTypeface(null, Typeface.BOLD);
tvRes.setText(responsi_nilai);
row.addView(tvRes);
tvPost.setGravity(Gravity.CENTER);
tvPost.setTextSize(12.0f);
tvPost.setBackgroundColor(Color.parseColor("#eeeeee"));
tvPost.setTypeface(null, Typeface.BOLD);
tvPost.setText(posttest_nilai);
row.addView(tvPost);
tableview.addView(row);
}
答案 0 :(得分:0)
您可以使用std::fixed
。这将像printf
一样强制打印所有精确小数。这意味着,5
现在打印5.000000
,如果您不介意多于一个不需要的0。
如果你介意的话,我没有看到很多解决方案,而是使用ostringstream
或sprintf
在内存中写入字符串,如果找不到,请附加".0"
其中的一个点,并打印该字符串。