2017-12-23 23 views
0

통화 코드가 있습니다 (예 : USD, INR 등). 해당 코드의 문자 하나만 표시하려고합니다 (예 : $, ₹ 등). this과 같은 많은 솔루션을 찾으려고했지만 저에게 맞지 않습니다. 아래 코드를 사용하고 있습니다.

var pound = Currency.getInstance("GBP"); 
var symbol = pound.getSymbol(); 

하지만 (Rs., US $, AU $ 등 ...) 기호가 반환됩니다. 위에 언급 한대로 단 하나의 문자 기호를 얻고 싶습니다. 나는 심볼이 그들의 로케일에 의존한다는 것을 알고 있지만 심볼을 그들의 로케일로부터 독립시키고 싶다. 코드 아래 getSymbol(Locale.getDefault(Locale.Category.DISPLAY)) 검사처럼 getSymbol()에서 기본 Locale을 호출하는

답변

1

시도가

Currency pound = Currency.getInstance("GBP"); 
pound.getSymbol(Locale.getDefault(Locale.Category.DISPLAY)); 
+0

이 매개 변수는 API 광고 N 그래서, 그것은 단지 위의 naugat 또는 작동이 필요합니다 그것. 다른 해결책이 있다면 제발 제안 해주세요. –

0

이 나를 위해 잘 작동

import android.os.Build 

import android.support.v7.app.AppCompatActivity 
import android.os.Bundle 

import kotlinx.android.synthetic.main.activity_main.* 
import java.util.* 

class MainActivity : AppCompatActivity() { 

    override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(R.layout.activity_main) 
     count() 
    } 

    fun count() { 
     val pound = Currency.getInstance("USD") 
     var str:String 
     str = if(Build.VERSION.SDK_INT >=24) pound.getSymbol(Locale.getDefault(Locale.Category.DISPLAY)) 
     else pound.getSymbol(resources.configuration.locale) 
     tvText.text = str 
    } 


} 
+0

아니요. 작동하지 않습니다. US $, CA $, Rs와 같은 기호를 반환합니다. etc ... 나는 $, ₹ 등을 얻고 싶다. –

+0

글쎄, 나는 왜 그런지 이해하지 못한다. 위의 코드는 $를 반환합니다. – Vsevolod

+0

나는 기본 로케일이 모바일의 기본 국가 설정에 따라 설정되어 있다고 생각합니다. 인도, 일본 등 다른 국가를 설정하여 테스트해볼 수 있습니다. –