找回密码
 立即注册

QQ登录

只需一步,快速开始

ilovegan

注册会员

6

主题

10

帖子

34

积分

注册会员

积分
34
ilovegan
注册会员   /  发表于:2018-6-11 12:16  /   查看:3293  /  回复:3
比如,452525 显示为45,2525,
另外,452525可以显示为¥42.3W吗

3 个回复

倒序浏览
ilovegan
注册会员   /  发表于:2018-6-12 01:20:21
沙发
本帖最后由 ilovegan 于 2018-6-12 01:23 编辑

自己解决了。

function NumberInWan(){};

NumberInWan.prototype = new GC.Spread.Formatter.FormatterBase();

NumberInWan.prototype.format = function (obj, formattedData) {
    if (typeof obj === "number") {
        return formatNumber(obj, formattedData);
    } else if (typeof obj === "string") {
        if ($.isNumeric(obj)) {
            return formatNumber(parseFloat(obj), formattedData);
        }
    }
    return obj ? obj.toString() : "";
};

function formatNumber(value, formattedData) {
        var valuestr = value.toString();
    if (isFinite(value)) {
                valuestr = (value/10000).toFixed(1)
                if(value<0)
                {
                        formattedData.conditionalForeColor = "red";
                        value = -value;
                        valuestr = "("+valuestr.substr(1,valuestr.length-1)+")W";
                }
                else if(value>0)
                {
                        valuestr = valuestr+"W";        
                }
                else
                {
                        valuestr = '-';
                }
    }
    return valuestr;
}

NumberInWan.prototype.parse = function (str) {
    return new GC.Spread.Formatter.GeneralFormatter().parse(str);
};

sheet.getRange(0,0,100,100).formatter(new NumberInWan())
回复 使用道具 举报
ilovegan
注册会员   /  发表于:2018-6-12 01:26:09
板凳
另外,请教一个问题,new NumberInWan()可以传参数吗?传一个数字来控制显示几位小数
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-6-12 10:38:10
地板

function NumberInWan(){
this.abc = 5
};
NumberInWan.prototype.setABC= function (abcd) {
this.abc = abcd


写个方法设置
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部