」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在Go中使用Currency.Symbol使用逗號和千位分隔符號格式化貨幣值?

如何在Go中使用Currency.Symbol使用逗號和千位分隔符號格式化貨幣值?

發佈於2024-11-04
瀏覽:769

How to Format Currency Values with Commas and Thousand Separators Using Currency.Symbol in Go?

在Go中使用Currency.Symbol格式化貨幣值

在Go中,golang.org/x/text/currency包提供了格式化貨幣值的全面解決方案。該套件允許開發人員使用貨幣代碼、符號和本地化訊息,以人類可讀的格式格式化值。

以下範例示範如何使用currency.Symbol 來格式化貨幣值:

unit, _ := currency.ParseISO("BRL")
p := message.NewPrinter(language.BrazilianPortuguese)
result := p.Sprint(currency.Symbol(unit.Amount(float64(valor) / 100)))

上述程式碼的輸出為「R$ 123.456,78」。但是,如果您獲得的格式包含點而不是逗號且沒有千位分隔符,則可能是由於未在訊息中設定適當的區域設定或語言。 NewPrinter 函數。

要使用系統區域設定資源,您需要可以指定訊息中的語言。 NewPrinter函數如下:

import (
    "fmt"

    "golang.org/x/text/currency"
    "golang.org/x/text/language"
    "golang.org/x/text/message"
)

func main() {
    // Get the current locale
    locale, err := language.Parse(language.Default())
    if err != nil {
        panic(err)
    }

    // Use the locale to create a message printer
    p := message.NewPrinter(locale)

    // Format the currency value using currency.Symbol
    fmt.Println(p.Sprintf("%v", currency.Symbol(currency.MustParseISO("USD"), 12345678)))
}

此方法將自動使用系統的區域設定來格式化貨幣值。例如,如果系統區域設定為“en_US”,則輸出將為“$12,345,678.00”。

透過結合使用currency.Symbol函數和message.NewPrinter函數以及正確的區域設定處理,您可以以多種區域設定和貨幣格式有效地格式化貨幣值。

版本聲明 本文轉載於:1729688639如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-18
  • 如何從 JavaScript 點選事件呼叫 ASP.NET 方法?
    如何從 JavaScript 點選事件呼叫 ASP.NET 方法?
    從JavaScript 存取ASP.NET 函數要從JavaScript 的點選事件呼叫ASP.NET 方法,可以使用非標準方法:受僱。這裡有詳細的指南:使用IPostBackEventHandler 介面增強Page 類別:在您的ASP.NET 程式碼檔案中,使用以下程式碼繼承Page 類別: I...
    程式設計 發佈於2024-11-18
  • 您可以在 JavaScript 中的條件語句內宣告函數嗎?
    您可以在 JavaScript 中的條件語句內宣告函數嗎?
    條件語句中的函數宣告在 JavaScript 中,函數宣告具有不同的行為,取決於流行的語言標準及其執行環境。 嚴格模式 (ES5)嚴格模式,在 ECMAScript 5 中引入(ES5),條件語句中不允許使用函數宣告。這是因為函數宣告建立了提升變量,這些變數的作用域為整個函數或全域作用域。將它們放...
    程式設計 發佈於2024-11-18
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-18
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-11-18
  • 複雜的查詢條件應該在資料映射器還是服務層處理?
    複雜的查詢條件應該在資料映射器還是服務層處理?
    如何處理複雜查詢條件:Data Mapper vs. Service Layer如何處理複雜查詢條件:Data Mapper vs. Service Layer在物件導向程式中處理複雜查詢條件時,主要有兩種方法:在資料映射器或服務層中處理它們。 資料映射器方法資料映射器模式用於將網域物件對應到和來自...
    程式設計 發佈於2024-11-18
  • 當前MySQL root密碼為空時如何重置?
    當前MySQL root密碼為空時如何重置?
    重設MySQL Root 密碼當使用空密碼以root 身分登入時遇到困難,透過傳統方式修改它可能會面臨挑戰方法。本文探討了強制重設 root 密碼的替代解決方案。 強制密碼重設:建立密碼重設腳本:先製作一個包含以下指令的腳本: UPDATE mysql.user SET Password=PASSW...
    程式設計 發佈於2024-11-18
  • 如何使用 C 或 C++ 中的 Win32 API 從 DLL 和 EXE 檢索版本資訊?
    如何使用 C 或 C++ 中的 Win32 API 從 DLL 和 EXE 檢索版本資訊?
    取得 DLL 和 EXE 的版本資訊許多應用程式需要能夠從檔案中擷取版本資訊。此資訊用於顯示目的,例如在屬性對話方塊上顯示版本號。 Win32 API 提供了多個可用於取得版本資訊的函數。常見的方法是使用 GetFileVersionInfo API。 使用 GetFileVersionInfoGe...
    程式設計 發佈於2024-11-18
  • 如何從同一本地網路上的另一台電腦存取 FastAPI 後端?
    如何從同一本地網路上的另一台電腦存取 FastAPI 後端?
    如何從同一本地網路上的不同電腦/IP 存取FastAPI 後端從同一本地網路上的不同電腦存取FastAPI 後端同一本地網絡,必須確保以下幾點:1.主機標誌配置:運行FastAPI伺服器時將主機標誌設定為0.0.0.0。這允許伺服器偵聽本機電腦上的所有可用 IP 位址。 2。防火牆調整:確保防火牆配...
    程式設計 發佈於2024-11-18
  • 使用 Symbol.iterator 控制循環
    使用 Symbol.iterator 控制循環
    您是否曾经使用过 Object.entries 并想知道它是如何工作的?比你想象的要简单得多! 这是一个基本实现: function objectEntries(obj) { const entries = []; for (const key in obj) { if (Objec...
    程式設計 發佈於2024-11-18
  • 如何在 Python 中找到兩個列表之間的差異?
    如何在 Python 中找到兩個列表之間的差異?
    在 Python 中計算列表差異在 Python 中處理列表時,理解兩個列表之間的差異至關重要。有多種方法可以實現這一目標,每種方法都有自己的優點和應用。最常見的方法之一是使用集合差。 集合差值集合差值是一種數學運算,用於計算一個集合中存在但不存在的元素其他。套用於清單時,可以有效地突出顯示兩個清單...
    程式設計 發佈於2024-11-18
  • 在 React 中快取資料:提升效能和使用者體驗
    在 React 中快取資料:提升效能和使用者體驗
    在 React 中快取資料可以透過減少多次獲取相同資料的需要來顯著提高效能和使用者體驗。以下是React中實作資料快取的幾種方法: 1. 使用狀態管理庫 Redux:使用 Redux 將您的資料儲存在集中儲存中。您可以在 Redux 狀態下快取 API 回應,並且僅在資料不可用時才取...
    程式設計 發佈於2024-11-18
  • PythonW.exe 與 Python.exe:我什麼時候應該使用它們?
    PythonW.exe 與 Python.exe:我什麼時候應該使用它們?
    PythonW.exe 與Python.exe:何時使用每個主要差異摘要: python.exe:CLI 腳本的控制台應用程式CLI 腳本的控制台應用程式開啟控制台視窗連接到控制台的標準流同步執行pythonw.exe:GUI/no-UI的GUI應用程式腳本沒有開啟控制台視窗非同步執行標準流不可用場...
    程式設計 發佈於2024-11-18
  • Java中如何使用Streams計算最大值和最小值?
    Java中如何使用Streams計算最大值和最小值?
    在這篇文章中,我們將了解如何使用 Java Streams API 來計算元素集合的最大值和最小值。為此,我們將使用 Stream 類別的 max() 和 min() 方法。這些方法允許我們使用自訂比較器分別取得元素集合的最大值和最小值。 假設我們有一個類型為 List 的列表,其中 Exam 是...
    程式設計 發佈於2024-11-18
  • 在 Android Studio 中使用大型 Google JAR 檔案時如何修復「GC Overhead Limit Exceeded」錯誤?
    在 Android Studio 中使用大型 Google JAR 檔案時如何修復「GC Overhead Limit Exceeded」錯誤?
    Android Studio Google JAR 檔案:解決GC 開銷限制超出錯誤Android Studio Google JAR 檔案:解決GC 開銷限制超出錯誤建置Android 時可能會遇到「超出GC 開銷限制」錯誤由於dexing過程中記憶體消耗過多,Android Studio中的專案...
    程式設計 發佈於2024-11-18

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3