首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实数格式规范

实数格式规范
EN

Stack Overflow用户
提问于 2015-04-28 17:23:34
回答 2查看 18.5K关注 0票数 4

我想把一些真实数字打印到日志文件中。为了使它们易于阅读,我希望它们都有相同的宽度。我知道这些数字在0到4095.75之间,所以我试了一下:

代码语言:javascript
复制
$display("expected= %4.2f, actual= %4.2f", expected, actual)

我希望看到的是:

代码语言:javascript
复制
expected=   12.25, actual=   12.75 
expected= 4093.25, actual= 4094.75 

但我得到的是:

代码语言:javascript
复制
expected= 12.25, actual= 12.75 
expected= 4093.25, actual= 4094.75 

如何强制小数点以上的值宽度为4个字符?节21.2.1.3 LRM的显示数据的大小在%f上保持沉默。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-28 17:43:39

通过我尝试过的两个模拟器,使用%7为您的值工作:

代码语言:javascript
复制
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

输出:

代码语言:javascript
复制
expected=   12.25, actual=   12.75
expected= 4093.25, actual= 4094.75
票数 5
EN

Stack Overflow用户

发布于 2022-05-03 14:21:13

还可以指定在逗号之后的浮点vars要看到多少个数字:

代码语言:javascript
复制
    `uvm_info(get_type_name(), $sformatf("tslot_start=%.3f, tslot_start_tolerance=%.2f", 
tslot_start, tslot_start_tolerance), UVM_LOW)
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29925986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档