zoukankan      html  css  js  c++  java
  • 巧用锐浪报表:用报表脚本实现动态显示小数位数

     

    需求概述

    在某些统计报表中,某类数字其值取值范围相当大,为了让超大的数据总的显示位数不要太多,而较小的数据又要显示有足够的精度,即根据数据的大小,显示不同的小数位数,这有点类似计算机中表示带小数数据的浮点数机制。

    在锐浪报表中可以通过设置数据的“格式”属性来实现数字按规定格式显示出来,但上面的要求并不能直接通过设置格式来实现,而是要借助报表脚本功能来实现。

    实现说明

    首先设置数据的格式为输出需要的最多小数位数,如格式为“#,##0.000000”,表示数据始终显示5位小数。然后利用报表脚本根据数据值的大小确定要输出的小数位,将后面多余的小数位截掉,这样就得到需要的显式文字。

    在字段或统计框的“获取显示文字脚本”属性上写报表脚本可以设置其显示文字,举例脚本代码:

    //根据值确定要显示的位数
    var v = Sender.Value;
    var digit = 0;
    if (v>2000)
      digit = 0;
    else if (v>1500)
      digit = 2;
    else if (v>800)
      digit = 3;
    else
      digit = 5;

    var Text = Sender.DisplayText;  //得到根据格式化串生成的苏剧显示文本,如:123.45600 
    var Index = Text.indexOf(".");  //确定小数点位置
    if (digit > 0)
      Index = Index + digit + 1;
    else
      Index = Index;
    Sender.DisplayText = Text.substr(0, Index);  //截取显示文字,并设置为数据的显示文本

    示例下载(http://www.rubylong.cn/download/samples/FloatDecimal.grf)


    锐浪报表Grid++Report源自2003年,经过多年持续不断发展,是拥有最多软件开发者的报表工具。易学易用,功能丰富,成熟稳定,支持各种编程环境下的报表开发。

  • 相关阅读:
    数据库主键策略
    经历alidns在国外的严重延时
    无题 MVC
    Jquery操作select,左右移动,双击移动 取到所有option的值
    Computop支付网关(一) credit Card
    [转载] 测试的道理
    微信砍价活动总结
    transform,变换
    transition,过渡效果
    文字居底方法
  • 原文地址:https://www.cnblogs.com/report/p/1790190.html
Copyright © 2011-2022 走看看