Django Filter Terbilang

// Django filter to say indonesian number

from django import template

register = template.Library()

def terbilang(value):
	value = int(value)
	bunyi = ""
	satuan = ("", "satu", "dua", "tiga", "empat", "lima", "enam","tujuh","delapan","sembilan","sepuluh", "sebelas")
	if value >= 0 and value < 12:
		bunyi = ' ' + satuan[value]
	if value >= 12 and value < 20:
		bunyi = terbilang(value%10) + ' belas'
	if value >= 20 and value < 100:
		bunyi = terbilang(value/10) + ' puluh' + terbilang(value%10)
	if value >= 100 and value < 200:
		bunyi = ' seratus' + terbilang(value - 100)
	if value >= 200 and value < 1000:
		bunyi = terbilang(value/100) + ' ratus' + terbilang(value%100)
	if value >= 1000 and value < 2000:
		bunyi = ' seribu' + terbilang(value - 1000)
	if value >= 2000 and value < 1000000:
		bunyi = terbilang(value / 1000) + ' ribu' + terbilang(value % 1000)
	if value >= 1000000 and value < 1000000000:
		bunyi = terbilang(value/1000000) + ' juta' + terbilang(value % 1000000)
	return bunyi

register.filter('terbilang', terbilang)

0 Comments

Post A Comment