LISP - 小数点后的数字

2024-03-06

有谁知道如何在 Lisp 中指定浮点数小数点后的位数?

假设我在 REPL 上打印此命令:

CL-USER 3 > (format t "~,15f" (float (/ 1 7)))

I get:

0.142857150000000 

但是该数字四舍五入到小数点后第 8 位,我需要查看小数点后很多位才能查看该数字是否循环并计算周期。 (实际上我开始尝试解决 Project Euler 的问题 26)。

我需要得到这样的东西:

CL-USER 3 > (format t "~,15f" (float (/ 1 7)))
0.142857142857142857142857142857142857.... 

谢谢你,

Luca


Common Lisp 在其标准中没有任意精确的浮点数。

Common Lisp 在标准中定义了四种浮点类型:SHORT-FLOAT, SINGLE-FLOAT, DOUBLE-FLOAT, LONG-FLOAT.

您可以使用该函数将比率强制转换为浮点数COERCE(LispWorks 中的示例):

CL-USER 1 > (coerce (/ 1 7) 'double-float)
0.14285714285714285D0

or as a LONG-FLOAT在 LISP 中

[1]> (coerce (/ 1 7) 'long-float)
0.14285714285714285714L0

要计算更长的浮点数,您需要 Common Lisp 的扩展。GNU CLISP https://www.gnu.org/software/clisp/有一个非便携式扩展,可以设置(二进制)位数:

(SETF (EXT:LONG-FLOAT-DIGITS) n) http://www.clisp.org/impnotes/num-concepts.html#lfd

Example:

[3]> (SETF (EXT:LONG-FLOAT-DIGITS) 1000)    
1000
[4]> (coerce (/ 1 7) 'long-float)
0.142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857143L0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LISP - 小数点后的数字 的相关文章

  • 如何将小数点分隔符设置为逗号?

    我想读书和写作pi as 3 141592代替3 141592 因为使用逗号在许多欧洲国家很常见 我怎样才能做到这一点iostream是 换句话说 cout lt lt 3 141592 应该打印 3 141592 到标准输出 你应该使用b
  • 为什么在 emacs-lisp 中的函数参数之前使用#'?

    我熟悉 Emacs Lisp 但不熟悉 Common 或任何其他 Lisp 一些 Lisp 程序员建议 例如emacs 的基本功能 https stackoverflow com questions 17076646 a basic fun
  • PySpark:如何将带逗号的列指定为小数

    我正在使用 PySpark 并加载csv文件 我有一列包含欧洲格式的数字 这意味着逗号替换点 反之亦然 例如 我有2 416 67代替2 416 67 My data in csv file looks like this ID Reven
  • 在 PHP 中接受带有小数点和千位分隔符的国际数字

    对于用户可以输入能量值来计算相应费用的在线计算器 我需要 PHP 脚本来接受各种用户输入 200 万又四分之一焦耳 的值可以输入为 2000000 25 默认表示法 2 000 000 25 带千位分隔符 2000000 25 逗号作为小数
  • 试图理解 setf + aref “魔法”

    我现在已经了解了数组和aref在 Lisp 中 到目前为止 它很容易掌握 而且它的作用就像一个魅力 defparameter foo make array 5 aref foo 0 gt nil setf aref foo 0 23 are
  • 如何在 emacs 中自动回答是或否

    I binded function semantic symref to key C c C r like this global set key kbd C c C r semantic symref everytime I presse
  • 为什么 SBCL eval 函数会丢失它运行的宏?

    print x 打印出我想要评估的内容 但是 eval x 失败了 但如果我运行 x 它就可以了 我缺少什么 请告诉我为什么这不起作用 或者我是否在做一些愚蠢的事情 我正在尝试打印动态大小的表并设置 lambda 变量以最终计算表中每个单元
  • Scheme (Lisp) 中树的深度反转

    我对Scheme中的基本树数据结构进行了深度逆向 define deep reverse t cond null t not pair t t else cons deep reverse cdr t deep reverse car t
  • 我为什么要学习 Lisp? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Python 宏:用例?

    如果 Python 有一个类似于 Lisp Scheme 的宏工具 比如元Python https code google com p metapython 你会如何使用它 如果您是一名 Lisp Scheme 程序员 您会使用宏来做什么
  • 如何在 xquery 中格式化小数?

    我正在尝试在 XQuery 中格式化小数 小数点是货币 所以格式应该是 例如 5573652 23应该5 573 652 23 and 352769应该352 769 or 352 769 00如果它更容易 更干净 现在我正在使用这个功能h
  • setf中的f代表什么?

    LISP 有setf函数给变量赋值 现在我一直想知道该函数的名称 Theset部分是显而易见的 但是什么是f后缀代表 F的实际含义经常被忘记 根据一些消息来源 f 后缀可以代表 字段 例如参见这个answer https stackover
  • 如何从 SBCL 解释器将特定函数写入文件?

    假设我在没有 SLIME 的情况下玩过 SBCL 没有任何简单的解释器 现在我想将几个函数保存在一个文件中 不是核心图像 只是文本形式的一些代码 我该怎么做呢 有两种方法可以做到这一点 使用DRIBBLE and or FUNCTION L
  • 使用Lisp或Scheme进行Java程序的运行时配置

    我现在看到几个项目在实际配置取决于仅在运行时可用的东西时结束 配置 Java 程序的典型方法是根据某些应用程序特定规则读取一个或多个属性文件 然后根据它们的值采取操作 在某一时刻 这种情况会崩溃 您需要在配置中使用实际的程序逻辑 然后可以用
  • 如何在 Lisp 中生成一系列佩尔数而不是特定的数

    如何使用 cons 或其他方式打印列表佩尔数 https en wikipedia org wiki Pell number直到第N个数 defun pellse k if or zerop k k 1 k 2 pellse k 1 pel
  • Racket 与Scheme 有何不同?

    Racket 是Scheme 的后代 Racket 与 R6RS 有何不同 它添加了什么 删除了什么 或者只是有所不同 我知道 Racket 不仅仅是一种语言 它还是一个语言平台 但我指的是主要的 Racket 方言 Racket 最终基于
  • 以表格形式连续调用/评估?

    大家好 简单的问题 使用 XLISP 编写程序 但我似乎遇到了一个我似乎无法解决的简单基本问题 也许有人有一个快速解决方案 我正在尝试编写一个 if 语句 该语句的 then 子句评估多种形式并返回最后一种形式的值 在示例中 setq PO
  • 如何使Python格式的浮点数具有一定数量的有效数字?

    我希望我的 Python 2 4 3 输出数字具有特定的格式 具体来说 如果数字是有效数字 6 位有效数字 则仅输出 6 位有效数字 A 显示了 Python 如何编写浮点数 B 显示了我希望它们如何书写 我怎样才能让Python以这种方式
  • Common Lisp 中的原子和 Clojure 中的原子有什么区别?

    下列page http clojure org atoms讨论原子在 Clojure 中的工作原理 它并没有详细说明 Clojure 和其他 lisp 方言中原子之间的差异 Common Lisp 中的原子和 Clojure 中的原子之间的
  • 带有剩余参数的函数调用带有剩余参数的函数

    假设我们有一个函数func1 defun func1 rest values do something with values loop for i in values collect i 现在 我们有一个函数func2哪个调用func1

随机推荐

  • 内联表单,缩小以使标签适合左侧

    标题说标签是因为这是我的用例 但显然它可以是任何元素 我想要实现的是以下表单布局 label input another label input third label input 目前我的 HTML 大致如下 省略细节 div overf
  • 将音频样本从 Float32 移位到 SInt16 会导致严重削波

    我对 iOS 及其 C 基础很陌生 但对一般编程并不熟悉 我的困境是这样的 我正在基于复杂 AudioUnits 的应用程序中实现回声效果 该应用程序需要混响 回声和压缩等 但是 只有当我使用特定的时 回声才能正常工作音频流基本描述我的应用
  • 如何保护 Java/Javafx 代码不被最终用户看到?

    我一个人在一家公司做一个项目已经两年多了 该项目是一个非常大的项目 使用 rxtx 与硬件设备进行通信 我使用 Java 8 和 JAVAFX 作为 UI 现在它几乎完成了 我开始搜索如何交付公司将分发给其客户的最终用户应用程序 问题是 我
  • ValueError:字段 admin.LogEntry.user 是使用惰性引用声明的

    我正在开发一个新的 django 项目并坚持迁移 我想创建一个 UserModel 为了做到这一点 到目前为止我做了两件事 1 我制作了AuthUser模型并在下面的类中设置了一个Meta类 In 模型 py class AuthUser
  • safari - jquery - ajax 500 内部服务器错误

    我创建了一个 jquery ajax 调用 它在 Chrome firefox 和 IE 中运行良好 与 Safari 一样 它在响应中给出 500 内部服务器错误 我认为这可能是由于服务器异常所致 但是当我尝试调试时 我发现它根本没有到达
  • SSDT 架构比较锁 SET QUOTED_IDENTIFIER 为 OFF

    我安装了 Visual studio 2012 并安装了 SSDT 版本 11 1 20627 0 一直困扰我的问题之一是 SSDT 项目中的所有存储过程 当尝试使用模式比较将其推送到服务器时 SP 的 SET QUOTED IDENTIF
  • 使用动态规划求解背包

    我正在使用我在此链接中找到的算法来实现背包问题的片段背包问题 http www es ele tue nl education 5MC10 Solutions knapsack pdf I have also attached the sn
  • 无法运行地图示例

    我正在尝试运行谷歌地图例如 但它一直在控制台中给我 WARNING Application does not specify an API level requirement Device API version is 7 Android
  • “单一分配”对于 boost::make_shared 意味着什么

    在boost文档中make shared http www boost org doc libs 1 47 0 libs smart ptr make shared html 它说 除了方便和风格之外 这样的功能还具有异常安全性和显着性 更
  • Spring 类级别验证和 Thymeleaf

    我正在学习 Spring 框架和 Thymeleaf 我已经知道如何使用类似的东西来显示字段错误 fields errors xx 但是 我对如何在 Thymeleaf 中显示对象错误消息感到困惑 这是我的UserForm class Pa
  • Cocoa 与 MacOS X 钥匙串的接口

    我有一些 Mac 代码需要存储 访问和更新密码 以便将用户与 Web API 连接起来 放置这些信息的正确位置应该是 Mac Keychain 但似乎没有 cocoa 界面 请参阅这个答案 https stackoverflow com a
  • 在 Devise on Rails 中使用单独的身份验证模型

    我有一个简单的解决方案 我用以下对象自己制作 Account 具有 token 字段 在身份验证时返回并在 API 调用中使用 验证 具有 auth type auth id 和对帐户的引用 我有一个单独的验证模型能够连接多种登录方式 设备
  • Android SimpleDateFormat格式问题

    我正在尝试将日期格式化为所需的格式 但我收到的日期错误 这就是我正在做的事情 我收到的日期如下 3 24 2012 8 25 03 AM 3 23 2012 2 57 01 PM 3 15 2012 9 28 01 AM 并想将它们展示为
  • 为什么 KeyPairGenerator.genKeyPair() 这么慢

    我有一些 Java 代码 当我运行函数时KeyPairGenerator genKayPair 工作时间为 40 秒或更长时间 如何改变这种现状呢 如果我跑 openssl req x509 nodes days 365 newkey rs
  • 如何选择.NET版本来编译项目?

    我有VS2005 如何在特定版本的 NET 下编译我的项目 我已经安装了 1 0 2 0 3 0 和 3 5 提前Tnx 恐怕你不能 VS2005仅适用于 NET框架2 0 您需要适当版本的 Visual Studio 才能与其他版本一起使
  • Angular 4文档离线计算机[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想找到 Angular 4 文档的本地 离线版本 https angular io docs htt
  • 如何在 RxJava 中计算移动平均线

    在金融领域 我们通常需要从时间序列数据流中计算移动窗口总值 以移动平均线为例 假设我们有以下数据流 T是时间戳 V是实际值 T0 V0 T1 V1 T2 V2 T3 V3 T4 V4 T5 V5 T6 V6 T7 V7 T8 V8 T9 V
  • 如何将字符串转换为 NSDate?

    我有每当有新的远程通知时收到的字符串 我正在为我的后端使用解析 我检索到的字符串来自 createdAt 列 我试过下面的代码 var ca 2015 07 03T03 16 17 220Z var dateFormater NSDateF
  • 使用带淘汰赛的引导按钮下拉菜单

    我正在尝试使用 Bootstrap 的精美样式按钮下拉菜单 http getbootstrap com components btn dropdowns淘汰赛 不幸的是 下拉菜单是使用链接而不是
  • LISP - 小数点后的数字

    有谁知道如何在 Lisp 中指定浮点数小数点后的位数 假设我在 REPL 上打印此命令 CL USER 3 gt format t 15f float 1 7 I get 0 142857150000000 但是该数字四舍五入到小数点后第