1

我有一个包含一些措施的数据库。问题是测量值保存在主要单位中(例如,1 mV 保存为 0.001 V)。现在我使用水晶报告生成带有这些测量值的报告,但我想将 0.001V 转换为 1mV。

我怎样才能做到这一点?

我尝试过:

if lcase({database.result_type})="eval" then
  {@Test_Result}   
else
(
    if {database.measure}<0.001 then
      {database.measure}*1000000 & "uV"
    else if {database.measure}<1 then
      {database.measure}*1000 & "mV"
    else if {database.measure}<1000 then
      {database.measure} & "V"
);

但它不起作用。第一个 IF 是要了解它是通过/失败测试还是测量。

我能怎么做?

4

1 回答 1

3

您的公式需要产生一致的结果,可以是字符串或数字,但不能同时产生:

if lcase({database.result_type})="eval" then
  // assuming that this is a string
  {@Test_Result}   
else
(
    // assuming that `{database.measure}` is a number
    if {database.measure}<0.001 then
      ToText({database.measure}*1000000) & "uV"
    else if {database.measure}<1 then
      ToText({database.measure}*1000) & "mV"
    else if {database.measure}<1000 then
      ToText({database.measure}) & "V"
);
于 2013-07-27T11:43:27.057 回答