| name | awlm2026472 |
| slug | awlm2026472 |
| displayName | 股权份额精算 |
| version | 1.0.0 |
| summary | 用 fraction.js 精确计算份额/股权比例与分摊。 |
| license | MIT |
| description | 用 fraction.js 做份额/股权比例精算。当用户要分数运算、股权比例、fraction.js 时使用。轻量接入:new Fraction + add/div;输出约分后的比与百分比;不做完整股权系统。 |
股权份额精算
灵感:能力工具箱 fraction-js(fraction.js 做份额/股权比例精算)。
小四原创:份数 → Fraction → 约分占比。
避免 0.1+0.2 式浮点比例误差。
何时使用
- 合伙人份额占比
- 按份数分摊金额
- Demo 股权比例展示
硬约束
- 依赖:
fraction.js。
- 入参用整数份数或可解析分数串。
- 实现要点注释标 小四原创。
- 不做完整股权登记/协议生成。
推荐实现
import Fraction from 'fraction.js'
export function shareRatio(parts: number[]): { labels: string[]; pct: string[] } {
const total = parts.reduce((a, b) => a + b, 0)
if (!total) return { labels: [], pct: [] }
const labels = parts.map((p) => new Fraction(p, total).toFraction(true))
const pct = parts.map((p) =>
new Fraction(p, total).mul(100).valueOf().toFixed(2) + '%'
)
return { labels, pct }
}
export function splitByShares(amount: string, parts: number[]): string[] {
total = parts.( a + b, )
(!total) parts.( )
parts.(
(amount).(p).(total).().()
)
}
Agent 步骤
npm i fraction.js。
- 输入各方份数;展示
toFraction 与百分比。
- 自测:
[1,1,2] 得 1/4,1/4,1/2。
不要做
- 用浮点直接除算出比例当最终结果。
- 做成完整股权台账。
附加