具体数字格式掩码如#,###,## 0.0 ###会强制使用Excel GENERAL NUMBER格式?

时间:2014-06-26 17:05:51

标签: excel business-intelligence cognos

什么自定义格式掩码将3.0显示为3和3.10显示为3.1?

我正在尝试支持使用自定义SQL的Cognos报告,该报告从定义为NUMBER(11,4)的Oracle列中进行选择。如果我不对报表上的第1列应用任何格式,则生成的Excel列具有应用4位小数的“数字”类别格式。

enter image description here

因此,我看到显示以下示例格式化值:

a) 4,123.3400
b) 4.0123
c) 4.0100
d) 3
e) 0.10000

我希望在显示的小数点后只看到重要的零。例如,4.0100应为4.01,否则格式化正常。当数字是整数时,我宁愿不显示小数点。例如,对于没有小数部分的值,3优选为3.0。

我尝试过使用自定义格式进行试验,并且我能找到最接近我正在寻找的格式或者这种格式

#,###,##0.0###

产生:

a) 4,123.34
b) 4.0123
c) 4.01
d) 3.0
e) 0.1

使用无格式,第一个示例和我的自定义格式之间存在两个区别:

  1. 在十进制(d)
  2. 之后,整数显示为零
  3. 抑制小数后尾随无效的零。 (a)中
  4. 我喜欢看到以下内容,与opreceding示例的区别在于整数显示没有任何小数(d):

    a) 4,123.34
    b) 4.0123
    c) 4.01
    d) 3
    e) 0.1
    

    Excel默认使用“常规”格式对其进行处理,但是,诀窍是尝试让Cognos使用从NUMBER(11,4)列中选择的自定义SQL来生成该设置。如上所述,使用默认格式会导致Excel输出使用常规格式但有4个小数位,因此如果有任何派系部分,我会得到4位小数的精度。该解决方案似乎是使用自定义格式。

    我的格式可以吗

    #,###,##0.0### 
    

    是否需要像Excel的数字通用格式一样工作?

    enter image description here

1 个答案:

答案 0 :(得分:2)

答案是否定的,您无法使用一种格式获得所需的所有格式。

你应该知道,即使是Excel的General也没有得到你想要的一切,因为它没有提供数千个分隔符。

你必须选择放弃的东西。如果你可以放弃逗号,那么为什么不使用General?

另请注意,您有多余的#标记。您的格式相当于#,##0.0###

有关可能的进一步想法,请参阅this related question