当前位置: 首页 > news >正文

第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE

文章目录

  • 第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 `$DOUBL`E
  • 转换:十进制到 `$DOUBLE`
  • 转换:`$DOUBLE` 到十进制
    • `$DECIMAL(x)`
    • `$DECIMAL(x, n) `
  • 转换:十进制到字符串

第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE

转换:十进制到 $DOUBLE

注意: 建议应用程序显式控制十进制和 $DOUBLE 格式之间的转换。

$DOUBLE 格式的转换是通过 $DOUBLE 函数显式完成的。此函数还允许通过表达式 $DOUBLE(<S>) 显式构造非数字和无穷大的 IEEE 表示,其中 <S> 是:

  • 字符串 nan 生成 NaN
  • 任意字符串 inf+inf-infinfinity+infinity-infinity(表示无穷大)。
  • 数字和字符串分别为 -0-0

注意:输入时忽略字符串 <S> 的大小写。输出时,仅生成 NANINF-INF

转换:$DOUBLE 到十进制

注意: 建议应用程序显式控制十进制和 $DOUBLE 格式之间的转换。

$DOUBLE 形式的值使用 $DECIMAL 函数转换为十进制值。调用该函数的结果是一个适合转换为十进制值的字符串。

注意:虽然此描述假设提供给 $DECIMAL 的值是 $DOUBLE 值,但这不是必需的。可以提供任何数值作为参数,并且相同的规则适用于舍入。

$DECIMAL(x)

该函数的单参数形式将作为其参数给出的 $DOUBLE 值转换为十进制。 $DECIMAL 将数字的小数部分四舍五入为 19 位。 $DECIMAL 始终四舍五入到最接近的十进制值。

$DECIMAL(x, n)

两个参数的形式允许精确控制返回的位数。如果 n 大于 38,则会发生 <ILLEGAL VALUE> 错误。如果 n 大于 0,则返回四舍五入到 n 个有效数字的 x 值。

  • n为零时,使用以下规则确定该值:
  1. 如果 x 是无穷大,则根据需要返回 INF-INF

  2. 如果 xNaN,则返回 NAN

  3. 如果 x 是正零或负零,则返回 0

  4. 如果 x 可以精确地用 20 个或更少的有效数字表示,则返回包含这些精确有效数字的规范数字字符串。

  5. 否则,将小数表示形式截断为 20 位有效数字,并且

    1. 如果第20位是0,则替换为1
    2. 如果第 20 位数字是 5,则将其替换为 6

    然后,返回结果字符串。

此舍入规则涉及将第 20 位数字截断至零,除非它会不精确地使第 20 位数字为 05,该舍入规则具有以下属性:

  • 如果 $DOUBLE 值与十进制值不同,则这两个值将始终具有不相等的表示字符串。
  • $DOUBLE 值可以转换为十进制值而不生成 <MAXNUMBER> 错误时,结果与将 $DOUBLE 值转换为字符串,然后将该字符串转换为十进制值相同。进行两次转换时不可能出现双轮错误。

转换:十进制到字符串

当十进制值按原样使用时(例如,作为串联运算符的操作数之一),默认情况下可以将其转换为字符串。当需要对转换进行更多控制时,请使用 $FNUMBER 函数。

http://www.lryc.cn/news/223162.html

相关文章:

  • C语言【趣编程】我们怎样便捷输出空心的金字塔
  • 《JavaScript设计模式》笔记 - - - 超全设计模式概览
  • 浅谈Vue 3的响应式对象: ref和reactive
  • 怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载
  • Alphago Zero的原理及实现:Mastering the game of Go without human knowledge
  • STM32 堆栈空间分布
  • 小程序制作(超详解!!!)第十五节 自动随机变化的三色旗
  • MySQL_主从复制_环境搭建
  • Linux 设置静态IP(Ubuntu 20.04/18.04)
  • 计网----累积应答,TCP的流量控制--滑动窗口,粘包问题,心跳机制,Nagle算法,拥塞控制,TCP协议总结,UDP和TCP对比,中介者模式
  • OpenCV 直方图和归一化
  • Flink架构
  • Packet Tracer路由器连接终端设备怎么配置?
  • 评估APP网页小程序代码UI开发H5估价师怎么评估开发精确研发价格?
  • 16 Linux 内核定时器
  • C++11 shared_ptr类型智能指针学习
  • 网络流量分类概述
  • JavaWeb篇_02——服务器简介及Tomcat服务器简介
  • 2311d游戏引擎适配ios
  • 网络唤醒(Wake-on-LAN, WOL)
  • 接口测试框架实战(一) | Requests 与接口请求构造
  • 【C++】详解 void*
  • Linux家目录变成了-bash-4.2$
  • Python和SQLite游标处理多行数据
  • 安全测试之PHP 漏洞全解
  • 【bug-maven】(一)java: 错误: 不支持发行版本 5 (二):java: 错误: 无效的源发行版:15
  • git命令大全(附使用步骤+注释)
  • 【论文阅读】Progressive Spatio-Temporal Prototype Matching for Text-Video Retrieval
  • python --- 类与对象(二)
  • 任正非说:华为以前还出现过可笑的工号文化,看官大官小的指令