Ir para conteúdo
Fórum Script Brasil
  • 0

Algarismos Romanos


kuroi

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Você precisaria criar uma

...

fiz uma...

so q ficou meio zuada. tipo ela so aceita numero menor q 4999. é porque eu não sei como escrever alem disso. alias, pus 4000 com MMMM e não sei se ta certo. como escrevo 5000 por exemplo? onze mil seria MMMMMMMMMMM? e um milhao seriam mil emes?

a funcao é essa pra quem quiser:

Private Function Romanos(x As Variant) As String
Dim strMil As String, strCem As String, strDez As String, strUn As String
    Romanos = ""
    
    If Not IsNumeric(x) Then Exit Function
    If x < 1 Or x > 4999 Then Exit Function
    x = Conversion.CInt(x)
    
    strMil = "": strCem = "": strDez = "": strUn = ""
    
    strMil = Kuroi(x, 1000, "M", "MMM", "")
    strCem = Kuroi(x, 100, "C", "D", "M")
    strDez = Kuroi(x, 10, "X", "L", "C")
    strUn = Kuroi(x, 1, "I", "V", "X")
    
    Romanos = strMil & strCem & strDez & strUn
End Function
Private Function Kuroi(ByRef x As Variant, y As Integer, str1 As String, str2 As String, str3 As String) As String
Dim intCont As Integer
    Kuroi = ""
    
    If Int(x / y) = 4 Then
        Kuroi = str1 & str2
    ElseIf Int(x / y) = 9 Then
        Kuroi = str1 & str3
    Else
        For intCont = 1 To Int(x / y)
            Kuroi = IIf(intCont = 5, str2, Kuroi & str1)
        Next
    End If
    x = x - (Int(x / y) * y)
End Function

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...