我想把一些真实数字打印到日志文件中。为了使它们易于阅读,我希望它们都有相同的宽度。我知道这些数字在0到4095.75之间,所以我试了一下:
$display("expected= %4.2f, actual= %4.2f", expected, actual)我希望看到的是:
expected= 12.25, actual= 12.75
expected= 4093.25, actual= 4094.75 但我得到的是:
expected= 12.25, actual= 12.75
expected= 4093.25, actual= 4094.75 如何强制小数点以上的值宽度为4个字符?节21.2.1.3 LRM的显示数据的大小在%f上保持沉默。
发布于 2015-04-28 17:43:39
通过我尝试过的两个模拟器,使用%7为您的值工作:
module tb;
real expected, actual;
initial begin
expected = 12.25; actual= 12.75;
$display("expected= %7.2f, actual= %7.2f", expected, actual);
expected= 4093.25; actual= 4094.75;
$display("expected= %7.2f, actual= %7.2f", expected, actual);
#5 $finish;
end
endmodule输出:
expected= 12.25, actual= 12.75
expected= 4093.25, actual= 4094.75发布于 2022-05-03 14:21:13
还可以指定在逗号之后的浮点vars要看到多少个数字:
`uvm_info(get_type_name(), $sformatf("tslot_start=%.3f, tslot_start_tolerance=%.2f",
tslot_start, tslot_start_tolerance), UVM_LOW)https://stackoverflow.com/questions/29925986
复制相似问题