price handling

This commit is contained in:
2026-06-22 21:10:25 +03:30
parent 9d11616ec7
commit bfc4bec4cd
9 changed files with 388 additions and 50 deletions
+12 -3
View File
@@ -6,18 +6,27 @@ function formatGroupedPrice(price: string | number | null | undefined, digit: bo
return value
}
/** مبلغ ریالی — بدون اعشار، گرد به بالا */
export function ceilRial(price?: number | string | null): number {
const num = Number(price ?? 0)
if (!Number.isFinite(num)) {
return 0
}
return Math.ceil(num)
}
export function formatNumber(value: string | number | null | undefined, grouped = false): string {
return formatGroupedPrice(value, grouped)
}
export function usePrice(price: number, digit = true, unit = 'ریال') {
price = price ?? 0
const formatted = formatGroupedPrice(price, digit)
const formatted = formatGroupedPrice(ceilRial(price), digit)
return `${formatted} ${unit}`
}
export function usePriceWithoutType(price?: number, digit = true) {
return formatGroupedPrice(price ?? '', digit)
return formatGroupedPrice(ceilRial(price), digit)
}
export function useTowDecimal(num: string | number): string | number {