fix(751-1): 원화 꼴 흠 — M01 · M02 · 서버 글 — 공용 꼴 갈음 · 율 「4.0」 · 중간 값 · 마법사 콤마 · 서고 금액

- 파이썬 짝을 common_util/common_util_money.py 로 옮김(TS 와 같은 이름 · 서버 어디서나 불러옴)
- 시험 계산: 율 글자 「4.0 %」 → 숫자 4(서버 _pct) · 중간 값 경비 · 공구손료 등 비목 이름은 1,000 미만도 돈 꼴(870.2455 → 870)
- 기초 편집 단가 = 공용 단가 꼴 · 금액 = 소수 1 · 서고 기준 금액 · 구조물 조합 일위대가 금액 = 공용 정수 꼴(124,419.85 → 124,420)
- 마법사(확인 · 고르기 · 별칭 장부 · 엑셀 · 우리 금액): 콤마 없음 · 소수 셋 기본 · 부동소수 꼬리 걷음 · 품 비교 꼬리표 지수 꼴(1.235e+05) 걷음
- 다시 잇기 · 붙여넣기 대조 · 찾아 넣기 금액 열 끝 0 없음(22.9 원이 23 으로 숨지 않음) · 흐름 로직 텍스트 수식 비목 소계 정수
- 낡은 시험 고침: test_m02_hopyo_screen 품 비교 보통인부 0.0364 → 0.03636(수량 꼴 유효숫자 넷 규칙으로 파이썬 · TS 통일)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-02 22:54:02 +09:00
co-authored by Claude Sonnet 5.5
parent 27f33a8c53
commit 9e0746058e
25 changed files with 72 additions and 45 deletions
@@ -23,6 +23,7 @@ import {
import { openRelink, relinkDoc, relinkKeys } from "./M02_MasterTemplete_Hopyo_Relink";
import type { LaborDoc } from "./M02_MasterTemplete_Labor_Api";
import { lineId } from "./M02_MasterTemplete_Labor_Calc";
import { formatMoney } from "../common_util/common_util_money";
const COLS_KEY = "aislo:hopyo-paste-cols";
const FIELDS = ["품명", "규격", "수량", "단위", "금액", "노", "재", "경"] as const;
@@ -40,8 +41,7 @@ const NEED = new Set(["품명", "수량", "단위"]);
const letter = (n: number): string =>
n < 26 ? String.fromCharCode(65 + n) : `${letter(Math.floor(n / 26) - 1)}${letter(n % 26)}`;
const won = (v: number | null | undefined): string =>
v == null ? "-" : Math.round(v).toLocaleString("ko-KR");
const won = (v: number | null | undefined): string => (v == null ? "-" : formatMoney(v));
export function rememberedCols(): PasteCols | null {
try {
@@ -169,7 +169,7 @@ export function builtNotice(got: HopyoBuiltAll, keys: string[]): void {
{ key: "name", label: "합계 다른 호표", width: 260 },
{ key: "excel", label: "엑셀", kind: "number" },
{ key: "ours", label: "우리", kind: "number" },
{ key: "gap", label: "차이", kind: "number", decimals: 1 },
{ key: "gap", label: "차이", kind: "number", decimals: 1, trim: true },
],
rows,
}).root,