feat: P0/P1/P2全部功能 — 四层泳道/视角切换/KPI看板/预警/差异反打/预算/知识面板/回顾会/情景预测/Excel导入/角色权限
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Copyright (c) 2010-2024 openpyxl
|
||||
|
||||
from datetime import datetime
|
||||
from math import isnan, isinf
|
||||
import sys
|
||||
|
||||
VER = sys.version_info
|
||||
|
||||
from .numbers import NUMERIC_TYPES
|
||||
|
||||
|
||||
def safe_string(value):
|
||||
"""Safely and consistently format numeric values"""
|
||||
if isinstance(value, NUMERIC_TYPES):
|
||||
if isnan(value) or isinf(value):
|
||||
value = ""
|
||||
else:
|
||||
value = "%.16g" % value
|
||||
elif value is None:
|
||||
value = "none"
|
||||
elif isinstance(value, datetime):
|
||||
value = value.isoformat()
|
||||
elif not isinstance(value, str):
|
||||
value = str(value)
|
||||
return value
|
||||
Reference in New Issue
Block a user