Skip to content

fix: use awk for locale-independent cost formatting#1

Open
dzhavoronkov wants to merge 1 commit into
serejaris:mainfrom
dzhavoronkov:fix/locale-cost-format
Open

fix: use awk for locale-independent cost formatting#1
dzhavoronkov wants to merge 1 commit into
serejaris:mainfrom
dzhavoronkov:fix/locale-cost-format

Conversation

@dzhavoronkov
Copy link
Copy Markdown

Проблема

На системах с русской локалью statusline выводил дублированную стоимость вида $0,00$0.00.

Причина: bash printf с LC_NUMERIC=C игнорировался, выводя запятую 0,00. Это активировало fallback || echo "$0.00", что приводило к дублированию вывода.

Решение

Заменил printf на awk с LC_ALL=C, который корректно форматирует числа с точкой независимо от системной локали.

Было:

printf "\$%.2f" "$cost" 2>/dev/null || echo "\$0.00"

Стало:

echo "$cost" | LC_ALL=C awk '{printf "$%.2f", $1}'

Результат

Теперь statusline корректно показывает: .claude • Sonnet 4.5 • $1.37 • $1.37 / $10.50 • 9%


Problem

On Russian locale systems, statusline displayed duplicated cost like $0,00$0.00.

Root cause: bash printf with LC_NUMERIC=C was ignored, outputting comma 0,00. This triggered fallback || echo "$0.00", resulting in duplicated output.

Solution

Replaced printf with awk using LC_ALL=C, which reliably formats numbers with period decimal separator regardless of system locale.

Result

Statusline now correctly displays: .claude • Sonnet 4.5 • $1.37 • $1.37 / $10.50 • 9%

The bash printf with LC_NUMERIC=C was ignored on Russian locale systems,
causing comma decimal separator (0,00) which triggered fallback output,
resulting in duplicated output like $0,00$0.00.

awk with LC_ALL=C reliably formats numbers with period decimal separator
regardless of system locale.

---

Исправлено форматирование стоимости для русской локали.

Проблема: bash printf игнорировал LC_NUMERIC=C на русской системе,
выводя запятую (0,00), что вызывало срабатывание fallback и дублирование
вывода вида $0,00$0.00.

Решение: awk с LC_ALL=C корректно форматирует числа с точкой
независимо от системной локали.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant