UNPKG

hqchart

Version:

HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接

236 lines (208 loc) 6.39 kB
function StockStringFormat(){} //字符串格式化 千分位分割 StockStringFormat.FormatValueThousandsString=function(value,floatPrecision) { if (value==null || isNaN(value)) { if (floatPrecision>0) { var nullText='-.'; for(var i=0;i<floatPrecision;++i) nullText+='-'; return nullText; } return '--'; } var result=''; var num=value.toFixed(floatPrecision); if(floatPrecision>0){ var numFloat = num.split('.')[1]; var numM = num.split('.')[0]; var numMa = Number(numM); var isLowZero = null; if(numMa < 0){ numMa = Math.abs(numMa); isLowZero = true; } numMa = numMa.toString(); while (numMa.length > 3) { result = ',' + numMa.slice(-3) + result; numMa = numMa.slice(0, numMa.length - 3); } if (numMa) { result = isLowZero != null ? ('-' + numMa + result + '.' + numFloat) : (numMa + result + '.' + numFloat); } }else{ var numNF = Number(num); var isLowZero = null; if(numNF < 0){ numNF = Math.abs(numNF); isLowZero = true; } numNF = numNF.toString(); while (numNF.length > 3) { result = ',' + numNF.slice(-3) + result; numNF = numNF.slice(0, numNF.length - 3); } if (numNF) { result = isLowZero != null ? ('-' + numNF + result) : (numNF + result); } } return result; } //数据输出格式化 floatPrecision=小数位数 StockStringFormat.FormatValueString=function(value, floatPrecision) { if (value==null || isNaN(value)) { if (floatPrecision>0) { var nullText='-.'; for(var i=0;i<floatPrecision;++i) nullText+='-'; return nullText; } return '--'; } if (value<0.00000000001 && value>-0.00000000001) { return "0"; } var absValue = Math.abs(value); if (absValue < 10000) { return value.toFixed(floatPrecision); } else if (absValue < 100000000) { return (value/10000).toFixed(floatPrecision)+"万"; } else if (absValue < 1000000000000) { return (value/100000000).toFixed(floatPrecision)+"亿"; } else { return (value/1000000000000).toFixed(floatPrecision)+"万亿"; } return TRUE; } StockStringFormat.NumberToString=function(value) { if (value<10) return '0'+value.toString(); return value.toString(); } StockStringFormat.FormatDateString=function(value,format) { var year=parseInt(value/10000); var month=parseInt(value/100)%100; var day=value%100; switch(format) { case 'MM-DD': return StockStringFormat.NumberToString(month) + '-' + StockStringFormat.NumberToString(day); default: return year.toString() + '-' + StockStringFormat.NumberToString(month) + '-' + StockStringFormat.NumberToString(day); } } StockStringFormat.FormatTimeString=function(value) { if (value<10000) { var hour=parseInt(value/100); var minute=value%100; return StockStringFormat.NumberToString(hour)+':'+ StockStringFormat.NumberToString(minute); } else { var hour=parseInt(value/10000); var minute=parseInt((value%10000)/100); var second=value%100; return StockStringFormat.NumberToString(hour)+':'+ StockStringFormat.NumberToString(minute) + ':' + StockStringFormat.NumberToString(second); } } //报告格式化 StockStringFormat.FormatReportDateString=function(value) { var year=parseInt(value/10000); var month=parseInt(value/100)%100; var monthText; switch(month) { case 3: monthText="一季度报"; break; case 6: monthText="半年报"; break; case 9: monthText="三季度报"; break; case 12: monthText="年报"; break; } return year.toString()+ monthText; } StockStringFormat.FormatDateTimeString=function(value,isShowDate) { var aryValue=value.split(' '); if (aryValue.length<2) return ""; var time=parseInt(aryValue[1]); var minute=time%100; var hour=parseInt(time/100); var text=(hour<10? ('0'+hour.toString()):hour.toString()) + ':' + (minute<10?('0'+minute.toString()):minute.toString()); if (isShowDate==true) { var date=parseInt(aryValue[0]); var year=parseInt(date/10000); var month=parseInt(date%10000/100); var day=date%100; text=year.toString() +'-'+ (month<10? ('0'+month.toString()) :month.toString()) +'-'+ (day<10? ('0'+day.toString()):day.toString()) +" " +text; } return text; } //字段颜色格式化 StockStringFormat.FormatValueColor = function (value, value2) { if (value != null && value2 == null) //只传一个值的 就判断value正负 { if (value == 0) return 'PriceNull'; else if (value > 0) return 'PriceUp'; else return 'PriceDown'; } //2个数值对比 返回颜色 if (value == null || value2 == null) return 'PriceNull'; if (value == value2) return 'PriceNull'; else if (value > value2) return 'PriceUp'; else return 'PriceDown'; } StockStringFormat.IsNumber=function(value) { if (value==null) return false; if (isNaN(value)) return false; return true; } //判断是否是正数 StockStringFormat.IsPlusNumber=function(value) { if (value==null) return false; if (isNaN(value)) return false; return value>0; } //判断字段是否存在 StockStringFormat.IsObjectExist=function(obj) { if (obj===undefined) return false; if (obj==null) return false; return true; } StockStringFormat.Guid = function() { function S4() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); } return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); } export default{ StockStringFormat:StockStringFormat }