ShowAll Questionssorted byDate Posted
Tobias Hagge

# Convert decimal to time (1,8 to 1:48)

Hey, is there a quick solution to this? One way to do it would be leftstring + ':' + rightstring but it seems super messy.

Any ideas?
Best Answer chosen by Tobias Hagge
pcon
Are you looking to do this in a formula or in apex?

Formula
`LEFT( TEXT(testDecimal__c) , FIND('.', TEXT(testDecimal__c)) - 1) + ':' + RIGHT(TEXT(testDecimal__c), LEN(TEXT(testDecimal__c)) - FIND('.', TEXT(testDecimal__c)))`

Apex
```String decimalString = String.valueOf(testDecimal);
List<String> decimalParts = decimalString.split('\\.');
String t = decimalParts.get(0) + ':' + decimalParts.get(1);```

I don't think there's any cleaner way to do it.

pcon
Are you looking to do this in a formula or in apex?

Formula
`LEFT( TEXT(testDecimal__c) , FIND('.', TEXT(testDecimal__c)) - 1) + ':' + RIGHT(TEXT(testDecimal__c), LEN(TEXT(testDecimal__c)) - FIND('.', TEXT(testDecimal__c)))`

Apex
```String decimalString = String.valueOf(testDecimal);
List<String> decimalParts = decimalString.split('\\.');
String t = decimalParts.get(0) + ':' + decimalParts.get(1);```

I don't think there's any cleaner way to do it.
This was selected as the best answer
Tobias Hagge
In apex and would have done it the same way, hoped there was a neater way. Thank you!