2017-02-24 19 views
1

例如我的金額值是(651156),我想要自動顯示,如(6,511,156)使用類型腳本如何使用類型腳本在angular2中編號格式?

+3

療法e在java腳本中沒有內置或預定義的方法,或者爲此輸入腳本。你可以爲此創建你的功能。看到這裏http://stackoverflow.com/a/2901298/4693938 – ricky

+0

https://github.com/ExodusMovement/format-num/blob/master/README.md ...在這裏一個格式編號的演示,但我不'不知道如何使用它。 –

+0

你的應用環境是什麼? –

回答

2

沒有TypeScript運行時功能這樣的事情。庫可以添加數字格式功能,但它會總是是一個JavaScript工具。

我寫這個是因爲問題的框架暗示了一個誤解,可能會在以後傷害你。

當你想解決這些問題時,要明白TypeScript是一種提供兩件事情的語言。 A.工具,如智能感知,靜態錯誤檢查,通過類型(清單和推斷)驗證API使用情況。

B.將新的甚至是前瞻性JavaScript功能轉換爲舊版JavaScript語法,以便今天可以使用最新的JavaScript語言功能。

它不是一個運行時,它是一組補充工具,可以與JavaScript協同工作並增強JavaScript。

因此,如果您需要執行一些計算,不要問如何在TypeScript中做到這一點,請問如何在JavaScript中做到這一點,答案將始終如一,您將得到更多的答覆。

1

在Angular 2中,你會使用管道。 https://angular.io/docs/ts/latest/guide/pipes.html 不要使用@ricky鏈接顯示的純JS函數,把它轉換成一個管:

//imports 

@Pipe({name: 'commaSeparatedNumber'}) 
export class CommaSeparatedNumberPipe implements PipeTransform { 
    transform(value:number) : string{ 
    return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
    } 
} 

添加commaSeparatedNumber到你的聲明在NgModule,你可以使用它像

{{ myNumber | commaSeparatedNumber }}

順便說一句,對於小數將有一個內置的CommonModule可用管道(也包括在FormsModule和BrowserModule):https://angular.io/docs/ts/latest/api/common/index/DecimalPipe-pipe.html

+0

你有一些語法錯誤。另外,爲什麼你說管道返回'string'時返回'any'?只需關閉該類型並推斷正確的類型,或者如果堅持明確,則使用'string'作爲返回類型。足夠的「任何」已經是人!另外,第二個參數是_wat!_ –

+0

也許你應該試着冷靜一點。這是一個匆忙創建的示例代碼,主要是複製和粘貼,目的只是爲了讓提問者明白他必須使用管道。沒有人會回答你的答案而不回答實際問題,所以也許這會足夠少的憤怒。 – bergben

+1

放鬆我沒有downvote或任何東西。我打算對任何類型都有點tongue舌。但坦率地說,我總是看到這個問題,人們添加了任何類型的註釋,降低了他們的代碼質量,同時增加了他們必須做的工作並擊敗了語言。這讓我很失望。你的格式化數字的技巧是相當不錯的。 –

相關問題