问题标签 [roman-numerals]
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++ - 需要格式化字符串中的字符优先级
我目前正在写一个罗马数字转换器来取乐。该问题适用于上述字符优先级。
由于罗马数字不是位置数字,即 III 不表示 1*whatever base^2 + 1*whatever base^1 + 1*whatever base^0。
当有人输入 XIV 时,这当然会变得很困难,我需要确保在这种情况下不添加 I,而是减去。我不知道该怎么做。解决这个问题的最佳方法是什么?
我将罗马符号及其各自的十进制数字都存储在数组中:
所以通过简单地检查数组中的优先级,即如果符号小于下一个符号,即在示例“XIV”中,如果“I”更小,我就不会太难暴力破解该死的东西比'V',在这种情况下,这是因为我已将它们排序在数组中,然后我可以让它减去值而不是加法。
但这似乎是一个非常丑陋的解决方案。有没有更好的?我在想一些类似于正则表达式的东西(如果这听起来像一个可怕的想法,请原谅我,我还没有使用过 RegExp,但听起来它可以满足我的需要,那就是确定字符串中的字符.)
regex - 用于从文本文件中过滤罗马数字的单个正则表达式
我陷入了一个问题,即只允许通过一次正则表达式(一些旧的硬代码)。我需要罗马数字的正则表达式。
我已经尝试过标准的 ie ^(?i)M*(D?C{0,3}|C[DM])(L?X{0,3}|X[LC])(V?I{0,3}|I[VX])$
,但问题是它也允许 null( ''
) 值。
有什么办法可以检查问题吗?
latex - latex:用罗马数字打印变量
我在 LaTeX 中排版,我想用罗马而不是默认的阿拉伯语显示一个“变量”(在我的例子中,引用 \ref{blah} 到列表中的项目编号)。是否有捷径可寻?感谢您的任何指点!
latex - “缺少数字,视为零。” 在乳胶中
我想得到 2 的罗马数字。所以我使用$\Roman{2}$
内部文本。但后来我得到了一个错误
缺少数字,视为零。
我该如何解决?
谢谢并恭祝安康!
php - php 的 preg_match 为相同的模式返回不同数量的匹配项
我正在尝试使用罗马数字到整数转换器的 preg_match。问题是,对于某些输入, preg_replace 似乎给出的匹配太少了。编码:
但是任何以“IV”结尾的罗马数字都会切断最后 3 个匹配项($matches 将只包含元素 0-16 而不是完整的 0-19),同样任何以“IX”结尾的罗马数字都会切断最后一个匹配项4场比赛。
这是预期的行为,还是我的 PHP 有问题?
java - Java——从标准输入读取,一次一个字符
我无法确定读取 Java 程序某些输入的最佳方式。它需要读入一个罗马数字的单个字符,然后对其进行一些操作。
然而,有几个问题。输入必须从标准输入中读取,因为正在使用输入重定向。
此外,我需要能够检测到这对 CR/LF 字符来确定行尾,以及 EOF 来确定文件的结尾。
实现这一目标的最佳方法是什么?我四处窥探,发现 Scanner 没有 .nextChar 类(本来可以很好地工作)。
regex - 用于匹配各种类型编号列表的正则表达式
我想创建一个(PCRE)正则表达式来匹配所有常用的编号列表,并且我想分享我的想法并收集有关执行此操作的输入。
我将“列表”定义为一组规范的盎格鲁-撒克逊约定,即
数字
信件
罗马数字
我想知道这组列表有多强,是否应该有其他编号约定,以及是否应该删除其中的任何一个。
这是我为解决此问题而创建的正则表达式(在Python中):
我想知道这个正则表达式对于这个问题有多充分,以及是否有其他替代(正则表达式或其他)解决方案。
顺便说一句,对于我的特定用例,我不希望列表编号超过 25-50。
感谢您的阅读。
布赖恩
scala - 在 Scala 中使用类型参数和 mixin
编辑2:
我通过使用 mixin 和类型参数的组合以及下面的代码,成功地实现了我在使用 RomanNumerals 的练习中想要的类型安全。本质上,它的作用是在导入RomanNumerals
我能够编写的所有内容之后L X V I
,但不是L L
或X L X
导致我得到一个类型不匹配的编译器错误(因为这些将是罗马数字的非法组合)。现在我想知道这种使用特征、混合和类型参数的方式是否被认为是可以的,或者我是否在滥用语言可以这么说:) 有没有更好的方法来通过一些更简单/更清洁的方式实现相同的类型安全代码?
编辑:
基于 Victors answere 的进一步问题。好的,但是如果我为类型参数添加上限和下限以使 B 成为特征呢?例如
或者B
在这种情况下可能仍然是一个类?如果我知道 f 参数也适用于 typeFoo[B] with B
怎么办?有没有办法使用它B
与返回类型混合?
下面的原始问题
我想混合在 Scala 中创建对象时作为类型参数获得的特征:
这会导致编译错误:
我也试过:
但这不起作用:
有什么办法可以解决这个问题吗?这样withM的返回类型就变成了传入的类型参数Foo with B
在哪里B
withM
itextsharp - pdf首页上的自定义页码(罗马编号)
我需要在我正在创建的 pdf 上设置页码,以便前 3 页是 i、ii、iii,然后是从 1、2、3、4、5 开始的以下页面......等等。 .
我怎么能用 itextsharp 做到这一点?谢谢桑德
java - 你如何找到一个等价于一个整数的罗马数字
你如何找到一个与整数等效的罗马数字。是否有提供此功能的 java 库?
我确实找到了一个类似的问题,但我更喜欢这个问题的开箱即用 API 抽象。处理代码中所有可能的组合只是很痛苦。