实数的格式规范

时间:2015-04-28 17:23:34

标签: verilog system-verilog

我想将一些实数打印到日志文件中。为了使它们易于阅读,我希望它们都具有相同的宽度。我知道这些数字的范围是0到4095.75所以我试过这个:

controller is routed correctly.

You can also use the http://ellislab.com/codeigniter%... to get these parameters.

For your query: $this->input->get('tval', TRUE);

我期望看到的是:

$display("expected= %4.2f, actual= %4.2f", expected, actual)

但我得到的是:

expected=   12.25, actual=   12.75 
expected= 4093.25, actual= 4094.75 

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

1 个答案:

答案 0 :(得分:4)

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

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

/*

Output: 

expected=   12.25, actual=   12.75
expected= 4093.25, actual= 4094.75

*/