问题标签 [rational-numbers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Rational numbers in C# and XML
I'm working with an XML file that subscribes to an industry standard. The standards document for the schema defines one of the fields as a rational number and its data is represented as two integers, typically with the second value being a 1 (e.g. <foo>20 1</foo>
). I've been hunting around without a great deal of success to see if there's an XML-defined standard for rational numbers. I did find this (8 year old) exchange on the mailing list for XML-SCHEMA:
http://markmail.org/message/znvfw2r3a2pfeykl
I'm not clear that there is a standard "XML way" for representing rational numbers and whether the standard applying to this document is subscribing to it, or whether they've cooked up their own way of doing it for their documents and are relying on people to read the standard. The document is not specific beyond saying the field is a rational number.
Assuming there is a standard way of representing rational numbers and this document is correctly implementing it, does the functionality in System.Xml recognize it? Again, my searches have not been particularly fruitful.
Thanks for any feedback anyone has.
python - 用于 2.5 的纯 Python 有理数模块
有没有人见过这样的事情?小型自给自足模块是首选。
python - 如何将有理数和十进制数字符串转换为python中的浮点数?
如何将可以表示十进制或有理数的字符串转换为浮点数
我想要 [0.1234, 0.5]。
eval 是我的想法,但没有运气:
calculator - 有理数计算器
我想做一个有理数计算器,但我不知道如何忽略一些字符。例如,如果程序要计算表达式“2/9+9/3”并且答案应该是非简化形式,那么如何在输入时忽略上面表达式中的'/'?
algorithm - 检测重复小数的算法?
有没有一种算法可以计算出以下事情?
- 如果除法的结果是重复的小数(二进制)。
- 如果它重复,重复从哪个数字(表示为 2 的幂)开始?
- 哪些数字重复?
一些例子:
有没有办法做到这一点?效率是一个大问题。算法的描述比代码更受欢迎,但我会接受我能得到的答案。
还值得注意的是,基地并不是什么大问题。我可以将算法转换为二进制(或者如果它在,比如 base 256 以char
方便使用 s,我可以使用它)。我这样说是因为如果你在解释,你可能会更容易在 base 10 中解释:)。
sql - 在 SQL Server 中如何最好地表示有理数?
我正在处理本机作为有理数提供的数据。我有一个漂亮的通用 C# 类,它可以在 C# 中精美地表示此数据,并允许转换为许多其他形式。不幸的是,当我转身想将它存储在 SQL 中时,我想到了几个解决方案,但没有一个是非常令人满意的。
这是一个例子。2/3
我拥有可以在 C#中new Rational<int>(2, 3)
轻松处理的原始值。我想到的将其存储在数据库中的选项如下:
就像一个小数/浮点数,即
0.66666667
各种精度和精确度的值=。 优点:这使我可以查询数据,例如找到 < 1 的值。 缺点:它失去了准确性,当我在 UI 中显示这个简单的值时,它很难看。存储为两个精确的整数字段,例如各种精度和精确度的 分子 =
2
、分母 = 。优点:这使我可以精确地表示原始值并在以后以最简单的形式显示它。 缺点:我现在有两个字段来表示这个值,并且查询现在变得复杂/效率较低,因为每个查询都必须执行算术运算,例如查找分子/分母 < 1。3
序列化为字符串数据,即
"2/3"
. 我将能够知道最大字符串长度并拥有一个可以容纳它的 varchar。 优点:我回到了一个领域,但有一个确切的代表。 缺点:查询几乎被破坏并支付序列化成本。#1 和 #2 的组合。 优点:轻松/高效地查询值的范围,并在 UI 中具有精确的值。 缺点: 三个字段(!?!)保存一份数据,必须保持多个表示同步,这会破坏 DRY
#1 和 #3 的组合。 优点:轻松/高效地查询值的范围,并在 UI 中具有精确的值。 缺点:回到两个字段来保存一份数据,必须保持多个表示同步,这会破坏 DRY,并且必须支付额外的序列化成本。
有没有人有另一种比这些更好的开箱即用解决方案?还有其他我没有考虑的事情吗?有没有一种相对简单的方法可以在我不知道的 SQL 中做到这一点?
json - Haskell Text.Json 包能读不能写Rationals?
当我尝试使用浮点数解码 JSON 文件时,Text.JSON 包将数字作为 JSRational 提供给我。所以,我可以在 JSRational 上做一个 readJSON。但是,我不会写有理数!这是故意的吗?
c++ - 具有为有理数对自行设计的类的 C++ 程序无法按预期工作
我对下面的代码有疑问。它现在不执行任何功能......既不加也不减,也不除也不乘。
任何帮助将不胜感激......我需要解释......这样我才能理解并克服它:D
python - Python 中是否有 _rational_ 区间算术的实现?
Python中有理区间算术 的实现吗?这使用浮点数,而不是有理数。
如果没有,Python 中是否有任何包含 ±∞ 的有理数实现?
f# - 如何在不损失精度的情况下在 F# 中表示分数?
在 F# 中表示分数的最佳方法是什么?Haskell 和 Racket 有方便的方式来表示比率。F# 中是否有数据类型来表示比率?