Manipulating Object

Welcome Forums General PowerShell Q&A Manipulating Object

This topic contains 2 replies, has 3 voices, and was last updated by

 
Participant
2 years, 10 months ago.

  • Author
    Posts
  • #32653

    Participant
    Points: 0
    Rank: Member
    $memory   = Get-WmiObject -ComputerName $computerName  win32_physicalmemory
     RAMtotal =  (($memory.capacity | Measure-Object -sum).sum)/1gb
    

    I am trying to format this with two number to the right of the decimal. "N0 {0.00} formatted" the values I have are objects not INT. How do I clean this up?

  • #32655

    Participant
    Points: 0
    Rank: Member

    To use formatting you can use the -f operator but bear in mind that this only returns strings so sorting may not work as you'd expect. Here's an example:

    "{0:N2}" -f [Math]::Pi
    

    This takes the values to the right of the -f operator, inserts it into the string "template" at position 0 (denoted by the first 0) and formats it as a number with 2 decimal places (N2)

  • #32657

    Participant
    Points: 0
    Rank: Member

    Use the Math.Round method if you are trying to crop off lots of extra decimal values, but if you are just trying to always have 2 decimal places, even if it's just a whole number, Peter's got your answer.
    https://msdn.microsoft.com/en-us/library/system.math.round(v=vs.110).aspx

    $memory   = Get-WmiObject win32_physicalmemory
    $RAMtotal =  [Math]::Round((($memory.capacity | Measure-Object -sum).sum)/1gb, 2)
    $RAMtotal
    

The topic ‘Manipulating Object’ is closed to new replies.